Управление шириной бара в matplotlib с данными за месяц

Когда я делаю выборку данных в месяц с помощью баров, их ширина очень тонкая. Если я установил второстепенный локатор оси X в DayLocator (), я вижу, что ширина баров настраивается на 1 день, но я бы хотел, чтобы они заполнили целый месяц.

Я попытался установить локатор мелких тиков в MonthLocator () без эффекта.

[редактировать]

Может быть, пример будет более явным, вот пример ipython -pylab что я имею в виду:

 x = [datetime.datetime(2008, 1, 1, 0, 0), datetime.datetime(2008, 2, 1, 0, 0), datetime.datetime(2008, 3, 1, 0, 0), datetime.datetime(2008, 4, 1, 0, 0), datetime.datetime(2008, 5, 1, 0, 0), datetime.datetime(2008, 6, 1, 0, 0), datetime.datetime(2008, 7, 1, 0, 0), datetime.datetime(2008, 8, 1, 0, 0), datetime.datetime(2008, 9, 1, 0, 0), datetime.datetime(2008, 10, 1, 0, 0), datetime.datetime(2008, 11, 1, 0, 0), datetime.datetime(2008, 12, 1, 0, 0)] y = cos(numpy.arange(12) * 2) bar(x, y) 

Это дает 12 полос шириной 2 пикселя, я бы хотел, чтобы они были более широкими и расширялись из месяца в месяц.

One Solution collect form web for “Управление шириной бара в matplotlib с данными за месяц”

Просто используйте аргумент ключевого слова width :

 bar(x, y, width=30) 

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

 bar(x, y, width=[(x[j+1]-x[j]).days for j in range(len(x)-1)] + [30]) 
  • Сюжет панды датируется matplotlib
  • Есть ли способ генерировать графики Retina с помощью «matplotlib»?
  • построение гистограмм, высота баров которых равна 1 в matplotlib
  • Matplotlib: изменить цветовой код после факта
  • Является ли приемлемым шаблон для определения класса внутри функции?
  • Постройте две гистограммы на одном и том же графике и суммируйте их столбцы до 100
  • Как изменить размер шрифта на графике matplotlib
  • Усилить значения, похожие на Numpy или Scipy в Python
  • Python - лучший язык программирования в мире.