【问题标题】:How to display X axis from Pandas Dataframe Object to Matplotlib barchart如何从 Pandas 数据框对象显示 X 轴到 Matplotlib 条形图
【发布时间】: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()

我们将不胜感激任何帮助或指导。 谢谢

【问题讨论】:

    标签: python pandas dataframe matplotlib graph


    【解决方案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
    猜你喜欢
    • 2022-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 2021-09-14
    • 2018-11-07
    • 2019-06-12
    • 1970-01-01
    相关资源
    最近更新 更多