我正在尝试在我的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()可能不是这样做的,但我不确定还有什么可以尝试。
谢谢!
答案 0 :(得分:15)
http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.xticks
plt.xticks(ticks)
编辑:正如Yann在评论中提到的那样,您可能也对plt.yticks()
结果(使用plt.xticks(ticks, fontsize=9)
):