разместить метки между галочками - PullRequest
7 голосов
/ 25 октября 2009

в 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

Ответы [ 2 ]

5 голосов
/ 25 октября 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')

Barchart with proper labels

1 голос
/ 25 октября 2009

Вы имеете в виду что-то вроде этого: - 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')

посмотрите дополнительные параметры (xticks) и help (matplotlib.text.Text)

edit: извините, я не видел, вы также спрашиваете, как поставить метки лет под галочками. Я думаю, что вы должны сделать это вручную, посмотрите на пример, который я привел, чтобы увидеть, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...