如何为pcolormesh指定轴?

时间:2019-04-12 13:28:13

标签: python matplotlib heatmap axes

所以我正在尝试绘制具有指定值的(125 x 1000)网格。我正在使用matplotlib和pcolormesh。这就是我的代码的样子,酶阵列只是象征性的。

enzyme = np.array([125 x 1000])

plt.pcolormesh(enzyme, cmap='Reds')
plt.colorbar()
plt.show()

x轴是我的空间分辨率,y轴是时间。我的x轴从0到125,y轴从0到1000。但是我的实际问题是以小时为单位,所以我希望y轴显示为0小时->每2小时24小时。 x轴类似。因此,网格索引不是我的绘图的正确比例和编号。我该如何解决。

我已经尝试过包括

pcolormesh(x, y, enzyme)

具有x和y的一维数组,但是它们必须与我的酶网格的长度匹配,并且我有太多的数据点无法放置在x轴和y轴上。

1 个答案:

答案 0 :(得分:0)

我建议创建一个新的 x y 阵列,以适合您的酶阵列的大小。您将为每个xy值分配与每个索引对应的时间。例如,如果您的0-1000 y轴应该表示24小时,则可以执行以下操作:

increase=24/1000.
yvals=np.arange(0,24,increase)

除以24/1000,将为您提供所需的增量,以使您有1000个从0.24小时开始的值。

然后您可以使用以下方式更改xtick增量:

ax.set_xticks(np.arange(0,24,2))