带日期的 matplotlib 居中条形图
Posted
技术标签:
【中文标题】带日期的 matplotlib 居中条形图【英文标题】:matplotlib centered bar chart with dates 【发布时间】:2012-05-04 00:27:56 【问题描述】:要获取 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 为中心的 bar。当 x 轴值是日期时,有没有办法得到相同的结果?
【问题讨论】:
【参考方案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
有大量文档,开发人员为每种绘图方法提供了a detailed description of the keyword arguments。
【讨论】:
完美。不知怎的,我错过了它。非常感谢。以上是关于带日期的 matplotlib 居中条形图的主要内容,如果未能解决你的问题,请参考以下文章
如何在图下方居中 matplotlib 滑块并重新标记滑块标签?
matplotlib绘制带比例(percentile)的堆叠(stacked)条形图(bar plot)