pandas.DataFrame.plot(kind =“bar”)的更多绘图选项

时间:2014-05-21 19:11:29

标签: python matplotlib plot pandas

pandas.DataFrame.plot(kind='bar')方法很方便,因为它绘制了按数据框的行和列分组并适当着色的条形图。例如:

timeDf.plot(kind='bar', legend=False)

产生

enter image description here

以下数据框:

enter image description here

但如果我想要情节,例如

,该怎么办?
  • 对数y轴
  • y轴和x轴的标签

该方法本身似乎没有选择权?对定制的支持是如此有限还是我遗漏了什么?

我在matplotlib中重建这个绘图函数犹豫不决,因为我希望它很费力。

1 个答案:

答案 0 :(得分:2)

对于那些人有set_scaleset_xticklabels

df=pd.DataFrame(np.random.random((6,6)))
ax=df.plot(kind='bar')
ax.yaxis.set_scale('log')
ax.set_xticklabels(['a','b','c','d','e','f'])

enter image description here

如果您希望刻度均匀分布,则应执行以下操作:

ax.set_yscale("log", nonposy='clip') #nonposy is required, otherwise the bar disappears.
ax.set_ylim((0.1, 100)) #remember to rest the limit.

enter image description here

matplotlib 1.3以来,set_scale方法已弃用,已替换为_set_scale