如何分别指定matplotlib堆叠条形图的条形中的颜色?

平淡的公司

我正在制作“类预测错误”图,其中模型试图将数据分类为两个类之一。该图显示了由正确的类别和另一个类别组成的每个类别的分数。

因此,对于信号和背景类别,分类为信号的那些数据中,大多数是正确的,但实际上某些数据是背景,而分类为背景的那些数据中,大多数是正确的,但某些数据实际上是信号。现在,这意味着我要绘制一个条形信号,并让信号(红色)构成大多数条形,背景(蓝色)构成条形的少数,我想绘制另一个条形以用于背景和具有背景(蓝色)构成条形的大部分,而信号(红色)构成条形的少数。

我有以下代码,但是第二个条(背景)中的颜色顺序需要交换。怎么做?(我也在考虑开设两个以上班级的可能性。)

import matplotlib
import matplotlib.pyplot as plt

%matplotlib inline
plt.rcParams["figure.figsize"] = [10, 10]

cc0 = 39695 # classified correctly background
ci0 = 18595 # classified incorrectly background
cc1 = 38801 # classified correctly signal
ci1 = 19556 # classified incorrectly signal

fractions_correct   = (cc0, cc1)
fractions_incorrect = (ci0, ci1)
width = 0.9
ind   = np.arange(2)
p1    = plt.bar(ind, fractions_correct, width, color='red')
p2    = plt.bar(ind, fractions_incorrect, width, bottom=fractions_correct, color='blue')

plt.xlabel('classification by model')
plt.ylabel('class case abundances')
plt.xticks(ind, ('signal', 'background'))
plt.yticks([])
plt.legend((p2[0], p1[0]), ('background', 'signal'), loc='center left', bbox_to_anchor=(1, 0.5));
plt.show()
皮特

如果列表的长度与条形数量匹配,则可以为参数列表添加颜色。

    color=["red","blue"]
    p1    = plt.bar(ind, fractions_correct, width, color=color)
    color=["blue","red"]
    p2 = plt.bar(ind, fractions_incorrect, width, bottom=fractions_correct, color=color)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章