Y轴和First X之间的空格

时间:2012-06-07 15:17:56

标签: python matplotlib

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(正确地)将其视为数据。

3 个答案:

答案 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)

结果是

enter image description here

答案 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])