python matplotlib imshow()自定义标记

时间:2012-02-21 18:00:57

标签: python plot matplotlib histogram

我正在尝试在我的imshow()输出上设置自定义刻度线,但是没有找到正确的组合。

以下脚本总结了我的尝试。在这个脚本中,我试图在每个轴上的所有偶数上创建刻度线而不是默认值(-10,-5,0,5,10)

#!/usr/bin/env python
import matplotlib.pyplot as plt
import numpy as np

#Generate random histogram
N=25
middle=N/2
hist=np.random.random_sample((N,N))

#Ticks at even numbers, data centered at 0
ticks=np.arange(-middle,middle+2,2)

extent=(-middle,middle,-middle,middle)
plt.imshow(hist, interpolation='nearest', extent=extent, origin='lower')
plt.colorbar()

#
#These are my attempts to set the tick marks
#
#plt.gcf().gca().set_ticks(ticks)

#plt.gca().set_ticks(ticks)

#ax=plt.axes()
#ax.set_ticks(ticks)

plt.show()

我开始觉得set_ticks()可能不是这样做的,但我不确定还有什么可以尝试。

谢谢!

1 个答案:

答案 0 :(得分:15)

http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.xticks

plt.xticks(ticks)

编辑:正如Yann在评论中提到的那样,您可能也对plt.yticks()

感兴趣

结果(使用plt.xticks(ticks, fontsize=9)): enter image description here