我使用python并希望在x轴上制作1900到2000的热图。所以我有一个二维函数,比如f(t,x),其中t在1900到2000之间。然后我定义g(x)= [f(t,x)为t在范围内(1900,2000)]和通过z = numpy.array([g(x)for x in range(50)])将所有内容放入数组中。然后我通过pylab.color(z)绘制热图,但后来我失去了对多年的依赖,因为它现在是一个从零开始的数组。然后x轴从0到100.如何将x00添加到x轴,而不是标签,但是范围变为1900-2000。提前致谢。
答案 0 :(得分:1)
如果您正在使用pcolormesh
(或pcolor
,但pcolormesh
更快),则您需要传递明确x
和{ {1}}数组以及y
数组。
如果您正在使用z
,则需要使用imshow
kwarg。
使用extent
或pcolormesh
:
pcolor
作为使用import numpy as np
import matplotlib.pyplot as plt
z = np.arange(40).reshape(4, 10)
x = np.linspace(1900, 2000, 10)
y = np.linspace(20, 50, 4)
fig, ax = plt.subplots()
ax.pcolormesh(x, y, z, cmap='gist_earth')
plt.show()
的示例(请注意,您还需要使用imshow
以使aspect='auto'
和imshow
完全匹配):
pcolormesh