Python 在刻度之间放置标签

Python 在刻度之间放置标签,python,matplotlib,Python,Matplotlib,在matplotlib中,如何在记号之间(而不是在记号下方)放置记号标签 例如:在绘制股票价格随时间变化的曲线时,我希望x轴小刻度显示连续x轴大刻度之间的月份和年份(而不仅仅是在大刻度之下) 你的意思是这样的: -? 必须使用xticks和ha(或“水平对齐”)参数: >>> x = 'j f m a m j j a s o n d'.split() >>> y = abs(randn(12)) >>> bar(xrange(len(x)),

在matplotlib中,如何在记号之间(而不是在记号下方)放置记号标签

例如:在绘制股票价格随时间变化的曲线时,我希望x轴小刻度显示连续x轴大刻度之间的月份和年份(而不仅仅是在大刻度之下)


你的意思是这样的: -?

必须使用xticks和ha(或“水平对齐”)参数:

>>> 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')
有关更多选项,请参阅帮助(xticks)和帮助(matplotlib.text.text)


编辑:对不起,我没有看到你也在问如何把年份标签放在刻度下面。我认为您必须手动执行此操作,请查看我链接的示例以了解如何执行此操作。

这样做可以吗

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')

图像不可用(imageshack主页)@PierreCordier谢谢,修复
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')