如何在 matplotlib 中将列指定为轴并绘制条形图?

Posted

技术标签:

【中文标题】如何在 matplotlib 中将列指定为轴并绘制条形图?【英文标题】:How to specify columns as axes in matplotlib and plot bar chart? 【发布时间】:2019-12-10 07:06:20 【问题描述】:

我有 2 列,A 和 B。A 应该是 X 轴,B 应该是 Y 轴,我需要在这里绘制条形图。我正在使用 matplotlib。

尝试通过代码plt.bar(Df.A, Df.B, align='center', alpha=0.5) 进行绘图。 但是没有用

plt.bar(Df.A, Df.B, align='center', alpha=0.5)

【问题讨论】:

看起来应该可以了。有什么问题? AttributeError --> Traceback (最近一次调用最后一次) in 这就是错误的样子 【参考方案1】:

尝试如下

df.plot.bar(x='A', y='B', rot=0)

bar chart docs

【讨论】:

那么如果plt.bar(Df.A, Df.B) 不起作用,为什么df.plot.bar(x='A', y='B') 会突然起作用? (当然,我们不知道问题中的“不起作用”是什么意思,但我会说两者都起作用,或者两者都不起作用。) 这就是我的想法,但也在这里为回答者辩护,人们不知道什么不起作用,因为问题没有显示minimal reproducible example,也没有提供关于问题。【参考方案2】:

试试这个

plt.bar(Df.A, Df.B, align='center', alpha=0.5)
plt.xlabel("A")
plt.ylabel('B')

【讨论】:

不。第一行代码给出属性错误

以上是关于如何在 matplotlib 中将列指定为轴并绘制条形图?的主要内容,如果未能解决你的问题,请参考以下文章

共享轴并删除 matplotlib 子图中未使用的轴

如何在 pandas/matplotlib 中绘制索引列?

在 matplotlib 中将一些值绘制到极坐标图

如何防止在 Python matplotlib 图中将数字更改为指数形式

python使用matplotlib可视化subplots绘制子图自定义几行几列子图,如果M行N列,那么最终包含M*N个子图在指定的子图中添加可视化结果

如何在 pandas / matplotlib 中绘制多条线