首页 > 解决方案 > 在 Matplotlib 中为箱线图均值线和中线创建键

问题描述

我有以下代码创建 APOE4 基因拷贝和记忆分数的箱形图(因此变量名称)

clean_merged.boxplot('composite scores', by='APOE4', widths = 0.8, showmeans = True, meanline = True)
plt.title('Mean Composite Memory Score by APOE4 Copies')
plt.xlabel('Number of APOE4 Copies')
plt.ylabel('Composite Memory Score')
plt.rcParams['figure.figsize'] = (10,10)

生成此输出:

在此处输入图像描述 我想为平均值(绿色虚线)和中线(实心填充)添加一个图例,并且根据之前提出的问题正在努力这样做,因为我创建图表的方式与通常建议的方法完全不同。

我是 python 新手,所以任何帮助表示赞赏:) 谢谢!

标签: pythonmatplotliblegendboxplotlegend-properties

解决方案


您可以在绘图中添加“空”线,为它们分配适当的样式、颜色和标签。这些将由plt.legend(). 由于我没有你的数据,我以 seaborn 的 Titanic 数据集为例:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()

titanic = sns.load_dataset('titanic')
titanic.boxplot('age', by='sex', widths=0.8, showmeans=True, meanline=True)

plt.plot([], [], '-', linewidth=1, color='Crimson', label='mean')
plt.plot([], [], '-', linewidth=1, color='gray', label='median')

plt.legend()

任意图例


推荐阅读