我使用类似Matlba的s_n_hat
绘制一个列表(stem()
),如下所示:
markerline, stemlines, _ = plt.stem(s_n_hat, '-.')
plt.setp(markerline, 'markerfacecolor', 'b')
plt.setp(baseline, 'color','r', 'linewidth', 2)
plt.show()
在我的实际应用中,我想绘制蓝色的点击和红色的未命中,我该怎么做?因此,有些元素应该是蓝色和红色。
假设我的矢量第一部分有点击而第二部分有未命中,我试图这样做:
s_n_hat = [1, -1, 1, 1, -1, 1, 1, 1, 1]
markerline1, stemlines, _ = plt.stem(s_n_hat[0:5], '-.')
plt.setp(markerline1, 'markerfacecolor', 'b')
markerline2, stemlines, _ = plt.stem(s_n_hat[6:9], '-.')
plt.setp(markerline2, 'markerfacecolor', 'r')
plt.setp(baseline, 'color','r', 'linewidth', 2)
plt.show()
我希望第一个元素是蓝色,其他所有元素都是红色,但它们似乎是混合的:
有什么想法吗?
答案 0 :(得分:1)
如果没有提供* x *值,则默认值为(0,1,...,len(y)-1)
然后你需要传递一个x,但这些点重叠。类似的东西:
s_n_hat = [1, -1, 1, 1, -1, 1, 1, 1, 1]
x1 = list(range(0, 5))
x2 = list(range(5, 8))
markerline1, stemlines, _ = plt.stem(x1, s_n_hat[0:5], '-.')
plt.setp(markerline1, 'markerfacecolor', 'b')
markerline2, stemlines, _ = plt.stem(x2, s_n_hat[6:9], '-.')
plt.setp(markerline2, 'markerfacecolor', 'r')
plt.show()