Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带日期的以matplotlib为中心的条形图_Python_Datetime_Matplotlib - Fatal编程技术网

Python 带日期的以matplotlib为中心的条形图

Python 带日期的以matplotlib为中心的条形图,python,datetime,matplotlib,Python,Datetime,Matplotlib,要获取x轴为日期的条形图,我将执行以下操作: 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(11

要获取x轴为日期的条形图,我将执行以下操作:

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)
ax.xaxis_date()

plt.show()


但是,这些图不是以x为中心的。如果以前使用过ax.bar(x-barWidth/2,y,width=barWidth)来获取以x为中心的条。当x轴值为日期时,是否有方法获得相同的值?

我想您需要
方法的
align='center'
关键字

对您的示例的细微更改:

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()
将numpy导入为np
将matplotlib.pyplot作为plt导入
导入日期时间
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.子批次(111)
杆宽=20
ax.bar(x,y,width=barWidth,align='center')#<添加了align关键字
ax.xaxis_日期()
plt.savefig('baralign.png'))
plt.show()
导致下图:


这是一个非常直截了当的答案,如果你知道去哪里看的话
matplotlib
有大量的文档,对于开发人员提供的每种绘图方法。

Perfect。不知怎的,我错过了。谢谢。