pyplot 直方图,每个条(bin)的不同颜色

pyplot histogram, different color for each bar (bin)

我想为 pyplot 直方图中的每个条设置不同的颜色。

来自这个:

import matplotlib.pyplot as plt
plt.rcParams['font.size'] = '20'

data = ['a', 'b', 'b', 'c', 'c', 'c']
plt.hist(data);

至此:

其中一个选项是使用 pyplot.bar 而不是 pyplot.hist,每个 bin 都有选项 color

灵感来自: https://stackabuse.com/change-font-size-in-matplotlib/

from collections import Counter
import matplotlib.pyplot as plt
plt.rcParams['font.size'] = '20'

data = ['a', 'b', 'b', 'c', 'c', 'c']

plt.bar( range(3), Counter(data).values(), color=['red', 'green', 'blue']);
plt.xticks(range(3), Counter(data).keys());

更新:

根据@JohanC 的建议,还有额外的可选使用 seaborn(我觉得是最好的选择):

import seaborn as sns 
sns.countplot(x=data, palette=['r', 'g', 'b'])

还有一个很相似的问题: