python绘制箱线图的不同百分位数

#python绘制箱线图的80%,90%和95%用颜色深浅表示,如图所示。

img

以下内容部分参考ChatGPT模型:


你可以使用matplotlib库来绘制箱线图,并通过设置whis参数来控制箱线图的百分位数。具体来说,whis参数可以设置为一个元组,其中第一个元素表示箱线图的下边缘百分位数,第二个元素表示箱线图的上边缘百分位数。例如,设置whis=(10, 90)将绘制箱线图的10%和90%分位数。

对于本题,你可以使用如下代码来绘制箱线图并用颜色深浅表示不同的百分位数:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
data = np.random.normal(size=(100, 3))

# 绘制箱线图
fig, ax = plt.subplots()
boxes = ax.boxplot(data, whis=(10, 95), patch_artist=True)

# 设置颜色
colors = ['lightblue', 'royalblue', 'navy']
for patch, color in zip(boxes['boxes'], colors):
    patch.set_facecolor(color)

plt.show()

在这个例子中,我们生成了一个包含100个样本和3个特征的随机数据矩阵,并使用boxplot函数绘制了箱线图。我们通过设置whis=(10, 95)来绘制箱线图的10%和95%分位数,并通过设置patch_artist=True来让箱线图的箱体和须子填充颜色。最后,我们使用一个颜色列表来设置不同的颜色,并使用zip函数将每个箱体和对应的颜色一一对应。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7496587
  • 你也可以参考下这篇文章:python 绘制多层不同颜色的边正六边形
  • 你还可以看下python参考手册中的 python-函数式编程模块
  • 除此之外, 这篇博客: python函数的用法及底层分析中的 可变参数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 可变参数指的是“可变数量的参数”。分两种情况:

    1. *param(一个星号),将多个参数收集到一个“元组”对象中。
    2. **param(两个星号),将多个参数收集到一个“字典”对象中。
      【操作】测试可变参数处理(元组、字典两种方式)
    def f1(a,b,*c):
    	print(a,b,c)
    f1(8,9,19,20)
    def f2(a,b,**c):
    	print(a,b,c)
    	
    f2(8,9,name='gaoqi',age=18)
    def f3(a,b,*c,**d):
    	print(a,b,c,d)
    f3(8,9,20,30,name='gaoqi',age=18)
    -------------------------------
    执行结果:
    8 9 (19, 20)
    8 9 {'name': 'gaoqi', 'age': 18}
    8 9 (20, 30) {'name': 'gaoqi', 'age': 18}
    
  • 您还可以看一下 武鹏老师的Python数据分析课程中的 免费数据小节, 巩固相关知识点