如何从 Pandas 数据框对象显示 X 轴到 Matplotlib 条形图
Posted
技术标签:
【中文标题】如何从 Pandas 数据框对象显示 X 轴到 Matplotlib 条形图【英文标题】:How to display X axis from Pandas Dataframe Object to Matplotlib barchart 【发布时间】:2021-09-17 22:43:47 【问题描述】:我已经从一个读入数据框的 CSV 文件创建了一个 pandas 数据框对象。 csv 很短,包含以下数据:
Group Title, Hosts ,Soccer 5, Soccer 4, Soccer 3 , Soccer 2, Soccer 1, Soccer X ,Soccer Y, Soccer Total
Units,11,1,3,4,4,5,
[1 rows x 8 columns]
我已成功在条形图上显示数据但我希望为每个组标题(主机、Socker 5、Socker 4 等)标记 x 轴并与数据对齐绘制强>
请在下面查看我当前图表的图片以更好地理解
我知道我可以手动执行此操作,但我希望从 CSV 文件(即数据框对象)中读取它。我尝试了不同的方法来做到这一点,例如尝试添加以下代码
dataframe.plot.bar(dataframe['Group Title'], title="Soccer", ylabel="Quantity", xlabel="Devices")
我的完整代码如下
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
dataframe = pd.read_csv('C:\Scripts\custom.csv', delimiter=",")
print(dataframe)
dataframe.plot()
#plt.rcParams['figure.figsize'] = (15,8)
matplotlib.style.use('ggplot')
dataframe.plot.bar(title="Devices", ylabel="Quantity", xlabel="Devices")
#Show Graphs
plt.show()
我们将不胜感激任何帮助或指导。 谢谢
【问题讨论】:
【参考方案1】:你可以使用seaborn的barplot:
import seaborn as sns
import matplotlib.pyplot as plt
sns.barplot(data=df)
plt.xticks(rotation=45)
或者,仅使用 pandas:
df.set_index('Group Title').T.plot.bar()
【讨论】:
嗨,添加以下代码时:dataframe.set_index('Group Title').T.plot.bar() - 它抛出错误:第 4555 行,在 set_index raise KeyError(f"None of missing 在列中”)KeyError:“['Group Title'] 都不在列中” 然后删除.set_index('Group Title')
位。这意味着“组标题”已经是您案例中的索引,由于格式问题,您的问题不是很清楚。
感谢这项工作。但是我右上角的键现在显示 0,而不是主机、足球 5 等等,知道如何让键正确显示吗?
我不明白你的意思。你不跟我一样吗?可以发张图片吗?
是的,所以你可以看到我之前有以下键(请看图片的右上角)但现在它只显示键为 0 ibb.co/5M3w8P4以上是关于如何从 Pandas 数据框对象显示 X 轴到 Matplotlib 条形图的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas:如何将数据框列值设置为 X 轴标签