沧海拾珠

Pandas画图自定义颜色

1. ListedColormap方法

matplotlib.colors.ListedColormap(colors, name = ‘from_list’, N = None)
colors 为颜色列表,颜色指定可以使用十六进制颜色,https://www.colorhexa.com 这个网站可以用来产生各种颜色的代码。name 和 N 还没用过。

1
2
3
4
5
from matplotlib.colors import ListedColormap
# 开始自定义颜色,金色,银色和铜色
gsb = ['#ffd700','#c0c0c0','#cd7f32']
my_gsb = ListedColormap(gsb)

GSB

1
2
3
4
5
6
7
8
9
# 对数据进行分类,并且不叠加
ndf = df.groupby(['Athlete','Medal']).size().unstack(fill_value = 0)
# 对分组数据进行排序,按金牌,银牌,铜牌顺序。
new_color = ndf.sort_values(['Gold','Silver','Bronze'],
ascending = False)[['Gold','Silver','Bronze']].head()
# 使用自定义的颜色画图
new_color.plot(kind = 'bar',colormap = my_gsb)

示例