我在matplotlib中有关于yticklabels的问题。
我正在尝试制作一个垂直条形图(plt.barh),然后尝试使用ax.set_yticklabels命令。 我遇到的问题是它只将标签放在主要标记处!我通过的列表长度为18,但它只标记了10个吧!
请帮忙吗?
答案 0 :(得分:10)
在设置yticks
:
yticklabels
from numpy import *
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
x=random.uniform(0,5,size=5)
#plot
ax.barh(arange(len(x)),x,1)
#set ticks
T=arange(len(x))+0.5
ax.set_yticks(T)
#set labels
labels=['a','b','c','d','e']
ax.set_yticklabels(labels)
plt.show()
答案 1 :(得分:1)
您可以使用set_yticks
,但传递参数minor
True
或False
:
majorticks = [1., 2., 3.]
minorticks = [1.5, 2.5]
ax.set_yticks( minorticks, minor=True )
ax.set_yticks( majorticks, minor=False ) # The default in version 1.3.0
同样适用于set_yticklabels
...