我正在做一个“类预测误差”图,其中一个模型试图将数据分类为两个类中的一个,图中显示了每个类由正确的类和另一个类组成的比例。
因此,对于信号和背景的类别,在那些被归类为信号的数据中,大多数是正确的,但有些数据实际上是背景,在那些被归类为背景的数据中,大多数是正确的,但有些数据实际上是信号。现在,这意味着我想绘制一个信号条,并让信号(红色)构成大部分条,背景(蓝色)构成小部分条,我想绘制另一个背景条,背景(蓝色)构成大部分条,信号(红色)构成小部分条。
我有下面的代码,但是第二个条(背景)中的颜色顺序需要交换。这可能是怎么做的?(我也在考虑拥有两个以上类的可能性。)
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()
字符串
2条答案
按热度按时间mkshixfv1#
如果列表的长度与条数匹配,则可以将颜色参数列表传递给该列表。
字符串
tyky79it2#
最快的解决方案是添加要Map到图的颜色列表:
字符串