Pandas配色方案无法正确处理我的数据(python)

2024-10-03 11:20:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想更改熊猫图的默认配色方案。我尝试通过cmappandas参数使用不同的颜色方案,但是当我更改它时,我的barplot的所有条都得到相同的颜色。你知道吗

我尝试的代码如下:

yearlySalesGenre = df1.groupby('Genre').Global_Sales.sum().sort_values()
fig = plt.figure()
ax2 = plt.subplot()
yearlySalesGenre.plot(kind='bar',ax=ax2, sort_columns=True, cmap='tab20')
plt.show(fig)

我绘制的数据(yearlySalesGenre)是熊猫系列类型:

Genre
Strategy         174.50
Adventure        237.69
Puzzle           243.02
Simulation       390.42
Fighting         447.48
Racing           728.90
Misc             803.18
Platform         828.08
Role-Playing     934.40
Shooter         1052.94
Sports          1249.47
Action          1745.27

使用tab20cmap,我得到以下曲线图:

plot with cmap tab20

我得到了所有tab20方案中第一种颜色的条。我做错了什么?你知道吗

请注意,如果我使用pandas plot的默认颜色方案,它会正确地显示具有不同颜色的所有条形图,但问题是我希望使用特定的颜色方案。你知道吗


正如贴出的,这是一个重复的答案。以防万一,答案是pandas基于不同的列而不是行来制作颜色方案。因此,要使用不同的颜色,您可以将数据+一些其他内容(复制链接)转置,或者直接使用matplotlib.pyplot文件允许更灵活的绘图(在我的例子中):

plt.bar(range(len(df)), df, color=plt.cm.tab20(np.arange(len(df))))

Tags: 数据答案pandasdfplot颜色fig方案
1条回答
网友
1楼 · 发布于 2024-10-03 11:20:06

也许这就是你想要的:

df2.T.plot( kind='bar', sort_columns=True, cmap='tab20')

我想你的问题是你只有一个系列。Pandas plot bar将绘制单独的系列(列),每个系列(列)具有自己的颜色,并根据索引分隔每个条形图。 通过使用.T,数据中的序列将变为多列,但只在一个索引中。我相信你可以玩图例enter image description here来获得更好的显示效果。你知道吗

相关问题 更多 >