【Boxplot】

# -*- coding: utf-8 -*-
"""
Created on Mon Sep  5 13:57:58 2022

@author: Lenovo
"""
import os
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
path=r'D:\Fluxnet\加了土壤水和土壤温度的\boxplot\10.csv'
path1=r'D:\Fluxnet\加了土壤水和土壤温度的\boxplot\WDA.csv'
path2=r'D:\Fluxnet\加了土壤水和土壤温度的\boxplot\ndvi.csv'

plt.figure(figsize=(10,8),dpi=400)

r10=pd.read_csv(path)
rwd=pd.read_csv(path1)
rndvi=pd.read_csv(path2)

new=pd.concat([r10, rwd, rndvi],keys=('Ten drivers' # concat 竖着拼接
                                      ,'Ten drivers + WD'
                                      ,'Ten drivers + WD + NDVI'))

# stack 一个行索引对应的不同列索引,由平铺变为堆叠 摞起来  此时就没了列索引, 原来的列索引跟每个样本都一起堆叠
new=new.stack().rename_axis(index=['Legend','nan','assess']) 

print(new)
# reset 重置索引 
new=new.reset_index(level=[0,2],name='RMSE')

ax=sns.boxplot(data=new, x='assess',hue='Legend',y='RMSE')
# loc = 2,bbox_to_anchor = (1,1) 将图例放在外面
# loc = 'upper right' 放在右上
plt.legend( prop={'size': 25},loc = 2,bbox_to_anchor = (1,1))

ax.xaxis.label.set_visible(False)
ax.yaxis.label.set_visible(False)  # 不显示y轴标签
print(new)

if not os.path.exists(r'D:\Fluxnet\PIC666\Boxplot'):
    os.makedirs(r'D:\Fluxnet\PIC666\Boxplot')
plt.savefig(os.path.join(r'D:\Fluxnet\PIC666\Boxplot','905'))



plt.savefig(os.path.join(r'D:\Fluxnet\PIC666\Boxplot','R2')
            ,bbox_inches = 'tight')

不加的话
保存的图片就会缺胳膊少腿儿

likethis

**加粗样式
**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中的boxplot函数用于绘制盒图。 盒图是一种可视化工具,用于显示数据集的统计分布情况。它主要显示了数据的中位数、上下四分位数、最大值、最小值和异常值。 在Matlab中,使用boxplot函数可以绘制盒图。该函数的语法为: boxplot(X, notch, sym, vert, whis) - X是一个矩阵,表示要绘制盒图的数据。每一列都将绘制一个盒图。 - notch是一个可选参数,表示是否绘制凹陷盒图。当notch=1时,绘制凹陷盒图;当notch=0时,绘制传统的矩形盒图。默认值为0。 - sym是一个可选参数,表示要在盒图上显示的异常值的符号。默认值为"o"。 - vert是一个可选参数,表示盒图的方向。当vert=1时,绘制竖直盒图;当vert=0时,绘制水平盒图。默认值为1。 - whis是一个可选参数,表示"须"图的长度。默认值为1.5。 使用boxplot函数时,可以根据需要选择是否使用这些可选参数,并根据具体情况进行调整。 例如,要在Matlab中绘制不同大小(行数不同)数据的盒图,可以按照以下步骤进行: 1. 准备数据:创建一个矩阵,每一列代表一个数据集,行数可以不同。 2. 使用boxplot函数:调用boxplot函数,并传入矩阵作为第一个参数。 3. 设置图形样式(可选):根据需要,可以使用其他参数来调整盒图的样式,例如设置notch、sym、vert或whis。 4. 显示图形:使用subplot函数来创建子图,然后使用boxplot函数绘制盒图。 以下是一个示例代码,展示如何在Matlab中绘制不同大小数据的盒图: ```matlab clc clear all close all % 准备数据 x = randn(100,25); % 绘制盒图 figure subplot(2,1,1) boxplot(x) subplot(2,1,2) boxplot(x,'PlotStyle','compact') ``` 这段代码创建了一个100行25列的随机数据矩阵x,并使用boxplot函数绘制了两个子图,分别展示了不同样式的盒图。第一个子图使用默认样式绘制传统的矩形盒图,第二个子图使用紧凑的样式绘制盒图。 希望这个答案能够解决你的问题。如果你还有任何疑问,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值