在下面的示例中,data_3的图例中的颜色不会显示为与plt.errorbar([..],color ='red')中设置的颜色相同。扼杀仅适用于某些符号和颜色组合。例如,红色方块将在图例中显示为黑色方块,但是红色圆圈将正确显示在图例中。当图例位于图的外部时,这似乎只是一个问题。这是一个工作示例: 导入matplotlib.pyplot作为plt 导入matplotlib 将seaborn导入为sns sns.set()#将地块样式设置为seaborn
matplotlib.rcParams['legend.handlelength'] = 0
matplotlib.rcParams['legend.markerscale'] = 1
labels = ['data_1','data_2','data_3','data_4']
symbols = ['o','D','s','D']
fill_style = ['none','full','none','full']
colours = ['MediumPurple','Maroon','red','yellowGreen']
x=range(10)
y=range(10)
for i in range(len(symbols)):
plt.errorbar(x,[a+i*2 for a in y],elinewidth=1,color=colours[i],fmt=symbols[i],label=labels[i],ms=4,fillstyle=fill_style[i],markeredgewidth=1.75,markeredgecolor=colours[i])
plt.legend(loc='center left',bbox_to_anchor=(1, 0.5))
答案 0 :(得分:0)
仅意识到这只是在jupyter笔记本中显示图形时的问题。当我将图形另存为.pdf或.png时,图例条目均应按原样显示,如您从我提供的图形中所见!