如何修改Python pyplot箱线图图例为4项,匹配按合规性设置的自定义颜色
你可以通过matplotlib.patches.Patch手动创建自定义图例项,替换原有默认图例即可,具体操作如下:
首先在代码开头导入Patch类:
from matplotlib.patches import Patch
删除你原有代码里的bp.legend(handles=bp.legend_.legendHandles, labels=['V_01', 'V_02'])行,在修改完所有箱线图颜色的代码后,添加如下自定义图例的代码即可:
# 先获取未修改的V01、V02默认填充色,这里取B组未被改动的箱线图颜色,你也可以直接手动指定颜色值 normal_v1_color = bp.artists[2].get_facecolor() normal_v2_color = bp.artists[3].get_facecolor() # 手动创建四个对应图例元素 custom_handles = [ # 正常V01 Patch(facecolor=normal_v1_color, edgecolor='black', linewidth=2, label='V_01'), # 正常V02 Patch(facecolor=normal_v2_color, edgecolor='black', linewidth=2, label='V_02'), # 合规低于66%的V01 Patch(facecolor='#D1DBE6', edgecolor='black', linewidth=2, label='V_01 with less 66% agreement'), # 合规低于66%的V02 Patch(facecolor='#EFDBD1', edgecolor='black', linewidth=2, label='V_02 with less 66% agreement') ] # 替换原有图例,字体大小可根据你的图的尺寸调整 bp.legend(handles=custom_handles, fontsize=40)
如果你的实际场景中所有V01、V02的箱线图都被改色了,直接手动给normal_v1_color和normal_v2_color赋值对应的颜色值即可。
内容的提问来源于stack exchange,提问作者Nathan
相关产品推荐
相关产品推荐

