7

在 matplotlib 中,我如何在刻度之间放置刻度标签(不低于刻度)

例如:随着时间的推移绘制股票价格时,我希望 x 轴次要刻度显示月份和年份,以显示在连续的 x 轴主要刻度之间(不仅仅是在主要刻度下方)

---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
  jan feb mar apr may jun jul aug sep oct nov dec jan feb mar apr may jun jul aug sep
                       2008                                            2009
4

2 回答 2

5

这会奏效吗?

enter code here
x = 'j f m a m j j a s o n d j f m a m j j a s o n d'.split()
y = abs(randn(24))
x[6] = 'j\n2008' # replace "j" (January) with ('j' and the appropriate year
x[18] = 'j\n2009'
bar(xrange(len(x)), y, width=0.1)
bar(xrange(len(x)), y, width=0.1)
xticks(xrange(len(x)), x, ha='center')

带有适当标签的条形图

于 2009-10-25T14:23:20.123 回答
1

你的意思是这样的: - http://matplotlib.sourceforge.net/examples/pylab_examples/barchart_demo.html ??

您必须使用 xticks 和 ha(或 'horizo​​ntalalignment')参数:

>>> x = 'j f m a m j j a s o n d'.split()
>>> y = abs(randn(12))
>>> bar(xrange(len(x)), y, width=0.1)

>>> xticks(xrange(len(x)), x, ha='center')

查看 help(xticks) 和 help(matplotlib.text.Text) 以获取更多选项

编辑:对不起,我没有看到您还询问如何将年份标签放在刻度线下方。我认为您必须手动完成,请查看我链接的示例以了解如何操作。

于 2009-10-25T14:04:51.737 回答