如何在Pandas中制作超宽箱线图以清晰展示多列数据
解决80列DataFrame箱线图显示压缩的问题
方法1:强制Jupyter不缩放输出图像
Jupyter默认会自动缩放大尺寸图像以适应单元格宽度,这是设置figsize后仍看不清的核心原因。先执行以下魔法命令关闭自动缩放:
%config InlineBackend.print_figure_kwargs = {'bbox_inches': None}
接着绘制箱线图时,给figsize设置足够宽的尺寸,按每列0.5-1英寸的比例计算,80列可设为80英寸宽:
import matplotlib.pyplot as plt import pandas as pd # 假设你的DataFrame名为df plt.figure(figsize=(80, 10)) df.boxplot() plt.xticks(rotation=90) # 可选:旋转x轴标签避免横向重叠 plt.tight_layout() plt.show()
执行后Jupyter会输出原始尺寸的图像,你可以通过横向滚动查看每个清晰的箱线图。
方法2:使用交互式可视化库(Plotly)
如果静态图滚动操作不便,用Plotly生成交互式箱线图,支持拖动缩放、悬停查看数据细节:
import plotly.express as px fig = px.box(df, points="all") fig.update_layout(height=600, width=1200) # 设置初始显示尺寸 fig.show()
生成的图表可直接在Jupyter单元格内横向拖动滚动,还能点击图例隐藏不需要的列,查看更灵活。
方法3:提升图像DPI增强清晰度
若仍觉得图像模糊,可在设置figsize的同时提高DPI参数:
plt.figure(figsize=(80, 10), dpi=100) df.boxplot() plt.xticks(rotation=90) plt.tight_layout() plt.show()
配合之前的%config命令,高DPI的大尺寸图会完整输出,滚动时细节更清晰。
内容的提问来源于stack exchange,提问作者Jordan
相关产品推荐
相关产品推荐

