2

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

4

3 回答 3

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)

结果是

在此处输入图像描述

于 2012-06-07T19:03:44.160 回答
2

因为刻度标签是文本对象,您可以更改它们的对齐方式。但是,要访问文本属性,您需要通过该set_yticklabels函数。所以添加以下行:

ax.set_yticklabels([1.4,1.6,1.8],va="bottom")

在你的set_yticks电话之后。或者,如果您直接通过 pylab 库,而不是通过轴对象访问函数,您可以将其设置在一行中:

pylab.yticks([1.4,1.6,1.8],va="bottom")

于 2012-06-07T19:13:32.907 回答
1

我建议更改 Y 轴限制:

ax.set_ylim([1.2, 1.8])
于 2012-06-07T15:34:59.743 回答