我用matplotlib
设计了一个子时隙。我正试着反转这个情节的xticks
。请参阅示例代码-
import numpy as np
import matplotlib.pyplot as plt
# generate the data
n = 6
y = np.random.randint(low=0, high=10, size=n)
x = np.arange(n)
# generate the ticks and reverse it
xticks = range(n)
xticks.reverse()
# plot the data
plt.figure()
ax = plt.subplot(111)
ax.bar(x, y)
print xticks # prints [5, 4, 3, 2, 1, 0]
ax.set_xticks(xticks)
plt.show()
请注意xticks
。即使使用了ax.set_xticks(xticks)
,但是xticks
没有改变。我是不是错过了一些函数调用来重新呈现绘图?在
以下是系统信息-
^{pr2}$请注意,我只想反转刻度,不想反转坐标轴。
使用
ax.set_xticks
,您当前指定的记号位置与列表的顺序是不变的。要么传递[0, 1, 2, 3, 4, 5]
,要么传递[5, 4, 3, 2, 1, 0]
。这种区别不会在滴答声中被注意到。相反,您想要的是反转ticklabels,您应该这样做set_xticklabels(xticks[::-1])
。有两种方法:方法1
使用
plt.xticks
,其中第一个参数指定记号的位置,第二个参数指定相应的记号标签。具体来说,xticks
将提供刻度位置,xticks[::-1]
将用反转的ticklabels标记您的绘图。在方法2使用
^{pr2}$ax
在需要set_xticklabels
的地方得到你想要的使用:
也可以反转轴
ax.set_xlim([5.5, -0.5])
的顺序相关问题 更多 >
编程相关推荐