Управление шириной бара в 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 savefig () графики, отличные от show ()
  • Одна вторичная метка отсутствует при построении дополнительной оси x и y
  • Как установить matplotlib с Python3.2
  • Python matplotlib уменьшает размер ярлыков цвета
  • Matplotlib: Использование np.mgrid для создания участка поверхности куба
  • Перемещение радиальных меток на полярном участке в matplotlib
  • Обратное изображение в ответе HTTP
  • Маркировка ящика в морском море со средним значением
  • Построение кумулятивного графика времени python
  • Pycharm не показывает сюжет
  • Чрезвычайно медленный импорт matplotlib afm
  • Python - лучший язык программирования в мире.