我是python的新手,请耐心等待:
我一直试图绘制2D热图,类似于此处显示的那个:
http://mips.helmholtz-muenchen.de/plant/static/images/A_thal_LTRs.png
使用contourf或colorbar类,但它似乎不起作用。
我使用两个非常简单的数据集,如代码所示: `
import numpy as np
import matplotlib.pyplot as plt
abundance = [0.2,0.3,0.25,0.05,0.05,0.04,0.06]
grain_size = [200,100,70,50,10,5,1]
`
我希望grain_size数组是我的x_axis(在对数刻度上),我的颜色代表每个grain_size对应的丰度(所以0.2对应200,0.3对应100等...)
所以我知道我需要将我的丰度数组标准化以适应颜色条,但那又是什么?
非常感谢!
答案 0 :(得分:1)
这是你想要的吗?
import matplotlib.cm as cm
ab = np.array(abundance)
gs = np.array(grain_size)
ab_norm = ab/ab.max()*100
plt.matshow([ab_norm], cmap=cm.gist_rainbow_r)
plt.xticks(range(7), gs)
plt.yticks(range(1), ["abundance"])
plt.colorbar()
plt.show()
您可以通过选择另一个see here for some of them来更改色彩映射。
告诉我,如果不是这样,如果你不理解某事。 希望这会有所帮助。