Ответ 1
Я думаю, вам нужно align='center'
ключевое слово для метода bar
.
Небольшие изменения в вашем примере:
import numpy as np
import matplotlib.pyplot as plt
import datetime
x = [datetime.datetime(2010, 12, 1, 0, 0),
datetime.datetime(2011, 1, 1, 0, 0),
datetime.datetime(2011, 5, 1, 1, 0)]
y = [4, 9, 2]
ax = plt.subplot(111)
barWidth=20
ax.bar(x, y, width=barWidth, align='center') #< added align keyword
ax.xaxis_date()
plt.savefig('baralign.png')
plt.show()
привести к следующему рисунку:
Это довольно прямой ответ, если вы знаете, где искать. matplotlib
имеет обширную документацию, а для каждого метода построения разработчики предоставляют подробное описание аргументов ключевого слова.