在R语言中如何按名称对列表数据分组绘制箱线图
嵌套列表绘制分组箱线图的实现方案
不需要必须将嵌套列表转换为DataFrame,两种实现路径都可以满足需求,你可以根据自己使用的绘图工具选择:
方案1:直接使用嵌套列表绘制(无需转换格式)
Python的matplotlib.pyplot.boxplot()原生支持嵌套列表作为输入,每个子列表会自动对应一个分组的箱线图,你只需要额外配置分组标签即可,示例代码如下:
import matplotlib.pyplot as plt # 假设你的嵌套列表顺序对应LB、SD、LI、RN四个分组 group_data = [lb_data, sd_data, li_data, rn_data] group_labels = ["LB", "SD", "LI", "RN"] plt.boxplot(x=group_data, labels=group_labels) plt.show()
方案2:转换为DataFrame后绘制
如果你更习惯使用seaborn这类基于DataFrame的统计绘图库,就需要先把嵌套列表转换为长表格式的DataFrame,转换和绘图的示例代码如下:
import matplotlib.pyplot as plt import seaborn as sns import pandas as pd group_data = [lb_data, sd_data, li_data, rn_data] group_labels = ["LB", "SD", "LI", "RN"] # 转换为长表DataFrame df = pd.DataFrame({ "分组": [label for label, lst in zip(group_labels, group_data) for _ in lst], "数值": [val for lst in group_data for val in lst] }) sns.boxplot(data=df, x="分组", y="数值") plt.show()
内容的提问来源于stack exchange,提问作者baratier alexandre
相关产品推荐
相关产品推荐

