ims*_*msc 16 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(111)
barWidth=20
ax.bar(x, y, width=barWidth)
ax.xaxis_date()
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,图不以x为中心.如果以前使用过ax.bar(x-barWidth/2.,y,width = barWidth)来获取以x为中心的条形.当x轴值是日期时,有没有办法得到相同的?
Yan*_*ann 32
我想你想要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()
Run Code Online (Sandbox Code Playgroud)
导致下图:

如果你知道在哪里看,这是一个非常直截了当的答案.matplotlib具有广泛的文档,并且对于每种绘图方法,开发人员提供关键字参数的详细描述.
| 归档时间: |
|
| 查看次数: |
19869 次 |
| 最近记录: |