python-matplotlib-箱线图为不同的箱体设置不同颜色

箱线图怎么为不同的箱体设置不同颜色?

方法:

f=df.boxplot(patch_artist=True,return_type='dict')
 
# 这里共有四个box
color=['k', 'g', 'r', 'deepskyblue'] # 有多少box就对应设置多少颜色
 
for box,c in zip(f['boxes'], color):
    # 箱体边框颜色
    box.set( color=c, linewidth=2)
    # 箱体内部填充颜色
    box.set( facecolor = c )

实战:

%matplotlib notebook
fig, ax = plt.subplots(1, 6,figsize=(9.5, 2.5))

color=['r','g']
labels = ["epilepsy","no_epilepsy"]

ax1 = plt.subplot(161)
f1 = ax1.boxplot(np.array([preprocessing.scale(np.mean(psd_e[:,:,:], axis=1)),preprocessing.scale(np.mean(psd_en[:,:,:], axis=1))])
            ,showfliers=False,patch_artist=True,labels = labels)
plt.xticks([])
plt.ylabel('z-score')
plt.xlabel('A')
for box,c in zip(f1['boxes'], color):
    # 箱体内部填充颜色
    box.set( facecolor = c )

ax2 = plt.subplot(162)
f2 = ax2.boxplot(np.array([preprocessing.scale(np.mean(pywt_energy_e[:,:,:], axis=1)),preprocessing.scale(np.mean(pywt_energy_en[:,:,:], axis=1))])
            ,showfliers=False,patch_artist=True)
plt.xticks([])
plt.xlabel('B')
for box,c in zip(f2['boxes'], color):
    # 箱体内部填充颜色
    box.set( facecolor = c )

ax3 = plt.subplot(163)
f3 = ax3.boxplot(np.array([preprocessing.scale(np.mean(pywt_energyRate_e[:,:,:], axis=1)),preprocessing.scale(np.mean(pywt_energyRate_en[:,:,:], axis=1))])
            ,showfliers=False,patch_artist=True)
plt.xticks([])
plt.xlabel('C')
for box,c in zip(f3['boxes'], color):
    # 箱体内部填充颜色
    box.set( facecolor = c )

ax4 = plt.subplot(164)
f4 = ax4.boxplot(np.array([preprocessing.scale(np.mean(pywt_entropy_e[:,:,:], axis=1)),preprocessing.scale(np.mean(pywt_entropy_en[:,:,:], axis=1))])
            ,showfliers=False,patch_artist=True)
plt.xticks([])
plt.xlabel('D')
for box,c in zip(f4['boxes'], color):
    # 箱体内部填充颜色
    box.set( facecolor = c )

ax5 = plt.subplot(165)
f5 = ax5.boxplot(np.array([preprocessing.scale(np.mean(peEntropy_e[:,:,0], axis=1)),preprocessing.scale(np.mean(peEntropy_en[:,:,0], axis=1))])
            ,showfliers=False,patch_artist=True,labels = labels)
plt.xticks([])
plt.xlabel("E")
for box,c in zip(f5['boxes'], color):
    # 箱体内部填充颜色
    box.set( facecolor = c )

ax6 = plt.subplot(166)
f6 = ax6.boxplot(np.array([preprocessing.scale(np.mean(shEntropy_e[:,:,0], axis=1)),preprocessing.scale(np.mean(shEntropy_en[:,:,0], axis=1))])
            ,showfliers=False,patch_artist=True,labels = labels)
plt.xticks([])
plt.xlabel('F')
for box,c in zip(f6['boxes'], color):
    # 箱体内部填充颜色
    box.set( facecolor = c )

plt.tight_layout()
plt.show()
plt.savefig("./minist.jpg")

请添加图片描述

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: matplotlib是一个常用的数据可视化库,可以用来绘制箱线图(boxplot)。箱线图可以通过可视化数据的分布情况来展示数据的统计特征,包括中位数、上下四分位数、最大值和最小值等。 绘制箱线图需要导入matplotlib库中的pyplot模块,并使用该模块中的boxplot函数。该函数的参数包括数据集、是否显示异常值、箱线图颜色和样式等。 首先,需要准备要绘制的数据集。可以使用numpy库生成随机数作为样本数据。 接下来,使用boxplot函数绘制箱线图。将数据集作为参数传入函数中即可。如果想要显示异常值,可以设置showfliers参数为True。可以根据需要设置箱线图颜色、线条样式等。 最后,调用show函数显示绘制的箱线图。可以在图像中看到箱线图的各个统计特征,以及可能存在的异常值。 绘制箱线图的过程较为简单,可以根据需要对数据进行整理和处理,以满足展示和分析的需求。matplotlib提供了丰富的功能和参数设置,可以根据个人的需求来进行图像的美化和调整。 总之,matplotlib箱线图是一种常用的数据可视化方式,可以直观地展示数据的统计特征,帮助我们更好地理解和分析数据。 ### 回答2: matplotlib是一个用于绘制数据可视化图表的Python库,其中的箱线图(boxplot)是一种用于展示数据分布情况的图表类型。 箱线图由五个统计量组成,包括最小值、第一四分位数(下四分位数)、中位数、第三四分位数(上四分位数)和最大值。通过箱线图,我们可以直观地了解数据的集中趋势、离散程度以及异常值的存在情况。 在matplotlib中,我们可以使用`boxplot()`函数绘制箱线图。函数的参数中,我们需要传入一个包含数据的列表或数组,并通过`labels`参数指定每个箱线图的名称。此外,我们还可以通过`showfliers`参数来控制是否显示异常值,默认值为True。 在绘制箱线图之前,我们需要确保matplotlib库已经安装并导入。接下来,我们可以使用以下代码绘制一个简单的箱线图: ```python import matplotlib.pyplot as plt data = [5, 10, 12, 15, 20, 22, 28, 30, 35, 40, 42, 45, 50] plt.boxplot(data, labels=["Data"]) plt.show() ``` 运行以上代码,我们将得到一个名为"Data"的单个箱线图,其中的箱体代表了数据的四分位数范围,中位线代表了数据的中位数,而箱线图上方和下方的线段分别代表了上下四分位数以及最大值和最小值。 通过matplotlib箱线图,我们可以通过直观的图表形式来解读数据的集中趋势、离散程度以及异常值的存在情况,从而更好地分析和理解数据的分布情况。 ### 回答3: matplotlib是一个用于绘制图表的Python库,其中包含了绘制箱线图的函数。箱线图是一种常用的统计图表,用于展示一组数据的分布情况。 在matplotlib中绘制箱线图时,可以使用boxplot()函数。该函数接受一个或多个一维数组作为输入数据,每个数组对应一个箱线图箱线图通常由五个要素组成:最小值、最大值、中位数、上四分位数和下四分位数。最小值和最大值分别由数据的最小值和最大值确定。中位数表示数据的中间值,即将数据从小到大排列后位于中间位置的数值。上四分位数是指将数据分为四等分后处于第三等分位置上的数值,下四分位数是指处于第一等分位置上的数值。 箱线图箱体由上四分位数和下四分位数之间的数据范围确定,箱体中的中位线表示中位数。箱线图中通常还包括上边缘和下边缘,它们表示数据的最大值和最小值。 绘制箱线图的主要步骤如下: 1. 导入matplotlib库和相关模块。 2. 创建一个画布和坐标系对象。 3. 准备要绘制的数据。 4. 调用boxplot()函数,传入数据对象。 5. 可选地设置标题、坐标轴标签等图表属性。 6. 调用show()函数显示图表。 使用matplotlib绘制箱线图可以直观地了解数据的分布情况,对于比较不同数据集之间的差异或检测异常值有很大帮助。箱线图在数据分析、统计学研究和决策支持等领域广泛应用。通过掌握matplotlib库中箱线图的绘制方法,可以为数据可视化和分析提供强大的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stig_Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值