pandas.DataFrame.plot(kind='bar')
方法很方便,因为它绘制了按数据框的行和列分组并适当着色的条形图。例如:
timeDf.plot(kind='bar', legend=False)
产生
以下数据框:
但如果我想要情节,例如
,该怎么办?该方法本身似乎没有选择权?对定制的支持是如此有限还是我遗漏了什么?
我在matplotlib中重建这个绘图函数犹豫不决,因为我希望它很费力。
答案 0 :(得分:2)
对于那些人有set_scale
和set_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'])
如果您希望刻度均匀分布,则应执行以下操作:
ax.set_yscale("log", nonposy='clip') #nonposy is required, otherwise the bar disappears.
ax.set_ylim((0.1, 100)) #remember to rest the limit.
自matplotlib
1.3以来,set_scale
方法已弃用,已替换为_set_scale