我在matplotlib中创建一个热图,其中x和y轴是测量的某个参数,颜色代表测量值。 Matplotlib根据值的索引自动给出轴刻度。例如,如果在x轴上我测量50个不同的值,则滴答将从0到50.但是该参数的实际值例如是-30到80,我希望matplotlib基于此创建滴答最小和最大。
我尝试过使用set_xticks但这需要刻度线的位置以及它们的标签。我想我应该能够给matplotlib一个-34分钟和最多67分,并让它在正确的位置创建漂亮的刻度,但我还是找不到。
答案 0 :(得分:2)
在matplotlib网站上的一些示例中,我在名为imshow
的{{1}}中找到了此选项,您可以在其中使用您自己的值替换默认的从零开始的坐标,以获取两者的最小值和最大值轴。
结果是this image。
答案 1 :(得分:1)
不会pyplot.xlim()或pyplot.figure.set_xlim()在这种情况下工作吗?只需说出:
import matplotlib.pyplot as plt
plt.xlim(-30,80)
plt.ylim(0,100) #Or whatever
据我所知,set_xticks函数太复杂了。使用那个,您可以指定要作为刻度标签等放置的内容。例如,如果要将数字系列与一系列字母相关联。例如:
x = [-8,-6,-4,-2,0,2,4,6,8]
labels = ['K2','K4','K6','K8','M0','M2','M4','M6','M8']
plt.xticks(x, labels)
我个人使用的是将整数转换为恒星光谱类型(这是相关的,因为我是天文学家; p)。
希望这有帮助。
`