题
在 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
解决方案
这会起作用吗?
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')
其他提示
你的意思是这样的吗:- http://matplotlib.sourceforge.net/examples/pylab_examples/barchart_demo.html ??
您必须使用 xticks 和 ha(或“horizontalalignment”)参数:
>>> 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) 了解更多选项
编辑:抱歉,我没有看到您也在询问如何将年份标签放在刻度线下方。我认为您必须手动执行此操作,请查看我链接的示例以了解如何执行此操作。
不隶属于 StackOverflow