Matplotlib新手在这里。
我有以下代码:
from pylab import figure, show
import numpy
fig = figure()
ax = fig.add_subplot(111)
plot_data=[1.7,1.7,1.7,1.54,1.52]
xdata = range(len(plot_data))
labels = ["2009-June","2009-Dec","2010-June","2010-Dec","2011-June"]
ax.plot(xdata,plot_data,"b-")
ax.set_xticks(range(len(labels)))
ax.set_xticklabels(labels)
ax.set_yticks([1.4,1.6,1.8])
fig.canvas.draw()
show()
运行该代码时,生成的图表会显示第一个刻度标签(2009年6月)和原点。如何让图表移动以使其更具可读性?我试图将虚拟数据放入,但随后Matplotlib(正确地)将其视为数据。
答案 0 :(得分:5)
为x和y轴添加两个限制以稍微移动刻度标签。
# grow the y axis down by 0.05
ax.set_ylim(1.35, 1.8)
# expand the x axis by 0.5 at two ends
ax.set_xlim(-0.5, len(labels)-0.5)
结果是
答案 1 :(得分:2)
因为刻度标签是文本对象,所以您可以更改其对齐方式。但是,要访问文本属性,您需要通过set_yticklabels
函数。所以添加一行:
ax.set_yticklabels([1.4,1.6,1.8],va="bottom")
set_yticks
来电之后。或者,如果您直接浏览pylab库,而不是通过axes对象访问该函数,您只需将其设置为一行:
pylab.yticks([1.4,1.6,1.8],va="bottom")
答案 2 :(得分:1)
我建议更改Y轴限制:
ax.set_ylim([1.2, 1.8])