如何在Matplotlib中用箱图样式须线替代柱状图?
替换Matplotlib柱状图为箱图样式须线的实现方案
原代码通过plt.bar绘制了以y_bot为底部、y_dif为高度的柱状图,若要替换为箱图样式的须线(即带端点短横的竖线),可以通过Matplotlib的vlines和hlines函数实现,具体修改如下:
修改思路
- 先计算每条须线的顶部位置:
y_top = y_bot + y_dif - 用
plt.vlines绘制竖线作为须线主体,连接底部y_bot和顶部y_top - 用
plt.hlines在每条竖线的两端绘制短横线,模拟箱图须线的端点样式
修改后的完整代码
import numpy as np import matplotlib.pyplot as plt x = np.arange(10) y_bot = np.linspace(30, 50, 10) y_dif = np.linspace(10, 5, 10) y_top = y_bot + y_dif # 计算须线顶部坐标 # 绘制须线主体竖线 plt.vlines(x=x, ymin=y_bot, ymax=y_top, linewidth=2, color='#1f77b4') # 绘制底部端点短横线 plt.hlines(y=y_bot, xmin=x-0.1, xmax=x+0.1, linewidth=2, color='#1f77b4') # 绘制顶部端点短横线 plt.hlines(y=y_top, xmin=x-0.1, xmax=x+0.1, linewidth=2, color='#1f77b4') # 可选:添加坐标轴标签和标题 plt.xlabel('X 轴') plt.ylabel('Y 轴') plt.title('箱图样式须线效果') plt.show()
参数调整说明
- 修改
linewidth值可调整须线和短横线的粗细 - 调整
xmin=x-0.1和xmax=x+0.1中的0.1,可改变端点短横线的长度 - 修改
color参数可自定义须线的颜色
内容的提问来源于stack exchange,提问作者Wasserwaage
相关产品推荐
相关产品推荐

