基于条件绘制多组箱线图:用sns.boxplot生成总功耗及组件开关状态功耗箱线图
实现方案
- 导入所需依赖库
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt
- 预处理数据,构造符合绘图要求的数据集
# 若已经有原始df可跳过示例数据构造部分 data = { "power": [0.5, 1.5, 2.5, 0.3, 0.5, 1.5, 2.5, 0.3], "component_status": [150, 150, 150, 153, 153, 153, 150, 153] } df = pd.DataFrame(data) # 映射组件状态为指定名称 status_label = {150: "COMPONENT = OFF", 153: "COMPONENT = ON"} df["group"] = df["component_status"].map(status_label) # 生成全量数据的TOTAL分组 total_group = df[["power"]].copy() total_group["group"] = "TOTAL" # 合并所有分组得到最终绘图数据集 plot_data = pd.concat([total_group, df[["power", "group"]]], ignore_index=True)
- 绘制箱线图
sns.boxplot(x="group", y="power", data=plot_data) # 可根据需要调整图表标注 plt.xlabel("分组类型") plt.ylabel("系统功耗") plt.show()
运行上述代码后即可得到包含3组箱线图的可视化结果,x轴从左到右依次为全量数据、组件开启、组件关闭对应的功耗分布。
内容的提问来源于stack exchange,提问作者DMatheu
相关产品推荐
相关产品推荐

