python - 如何使用重复的索引分类数据创建多线图?

标签 python pandas matplotlib data-visualization visualization

我有一个以下格式的 DataFrame(df)。我想使用这些数据创建多线图表。

Name    Category    Score   Count
A   Books   12025.4375  48
A   Music   17893.25    4
A   Movie   31796.37838 37
A   Script  1560.4  5
A   Art 973.125 8
B   Music   1929    15
B   Movie   3044.229167 48
B   Script  3402.4  10
B   Art 2450.125    8
C   Books   14469.3 10
C   Music   10488.78947 57
C   Movie   1827.101695 59
C   Script  7077    2

预期输出:

我想要 X 轴上的唯一类别。 Y 轴上的分数和代表多个名称的多行。

计数只是此图表不需要的附加数据。

我尝试使用以下语法,但它没有以预期格式显示输出。

lines = df.line(x= 'Category',\
    y=['Name','Score'],figsize=(20,10))

我尝试了此处提供的多种选项和答案,但似乎没有什么对我有用。

最佳答案

第一pivot数据,然后按 DataFrame.plot 绘图, line 是默认值,因此应省略:

import matplotlib.pyplot as plt

df1 = df.pivot('Category','Name','Score')
df1.plot(figsize=(20,10))
#show values in x axis
plt.xticks(np.arange(len(df1.index)), df1.index)
plt.show()

关于python - 如何使用重复的索引分类数据创建多线图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54104323/

相关文章:

Python/Pandas 表

python - 重新加载模块给出 NameError : name 'reload' is not defined

python - ValueError : Buffer dtype mismatch, 预期 'float64_t' 但得到 'float'

python - Pandas DataFrame 操作和转换

python - 我怎样才能从我的情节中删除一条额外的线?

python - re.sub 仅替换前两个实例

python - 将自定义开关类传递给 Mininet 拓扑

python - 从日期列中获取月份

python - 如何使用 Python 在 Plotly Express 中制作水平直方图?

python - 数据未绘制,但没有错误