我的问题如下:
想象一下,我有四个列表ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
,a
,b
,c
。我想通过使用相同的径向网格d
来绘制它们。由于某些原因,R
,a
共享一个公共属性X,b
,c
共享一个Y。因此,我想要d
,a
和{ {1}},b
分别以相同的颜色(绿色和蓝色)出现,我只希望在图例中出现两个标签:一个为绿色,类似于X,另一个为蓝色,类似于Y。做一个简单的想法的方法吗?一个例子:
c
答案 0 :(得分:1)
您可以仅标记一次要在图例中显示的对象,而不必按如下所示手动设置图例。我还用较短的语法color ='green'
替换了'-g'
,与蓝色一样。
# Your imports and data here
plt.plot(R,a,'-g', label='X')
plt.plot(R,b,'-g')
plt.plot(R,c,'-b', label='Y')
plt.plot(R,d,'-b')
plt.legend(fontsize=18)
plt.show()
替代方式在绘制时不放置label='X'
和label='Y'
leg = plt.legend(['X', 'Y'], fontsize=18)
colors=['green', 'blue']
for i, j in enumerate(leg.legendHandles):
j.set_color(colors[i])