【分组heiheihei】


```python
# -*- coding: utf-8 -*-
"""
Created on Thu Oct 20 21:34:12 2022

@author: Lenovo
"""

import os
import pandas as pd
import numpy as np
import seaborn as sns

path=(r'C:\Users\Lenovo\Desktop\BOXPLOT\New Folder')

a=pd.read_csv(os.path.join(path,'pro1990.txt'))
a1=pd.read_csv(os.path.join(path,'pro1999.txt'))
a2=pd.read_csv(os.path.join(path,'pro2004.txt'))
a3=pd.read_csv(os.path.join(path,'pro2009.txt'))
a4=pd.read_csv(os.path.join(path,'pro2014.txt'))
a5=pd.read_csv(os.path.join(path,'pro2019.txt'))

b=pd.read_csv(os.path.join(path,'liv1990.txt'))
b1=pd.read_csv(os.path.join(path,'liv1999.txt'))
b2=pd.read_csv(os.path.join(path,'liv2004.txt'))
b3=pd.read_csv(os.path.join(path,'liv2009.txt'))
b4=pd.read_csv(os.path.join(path,'liv2014.txt'))
b5=pd.read_csv(os.path.join(path,'liv2019.txt'))

c=pd.read_csv(os.path.join(path,'eco1990.txt'))
c1=pd.read_csv(os.path.join(path,'eco1999.txt'))
c2=pd.read_csv(os.path.join(path,'eco2004.txt'))
c3=pd.read_csv(os.path.join(path,'eco2009.txt'))
c4=pd.read_csv(os.path.join(path,'eco2014.txt'))
c5=pd.read_csv(os.path.join(path,'eco2019.txt'))

a['VALUE'] = a['VALUE']/100-273
a1['VALUE'] = a1['VALUE']/100-273
a2['VALUE'] = a2['VALUE']/100-273
a3['VALUE'] = a3['VALUE']/100-273
a4['VALUE'] = a4['VALUE']/100-273
a5['VALUE'] = a5['VALUE']/100-273

b['VALUE'] = b['VALUE']/100-273
b1['VALUE'] = b1['VALUE']/100-273
b2['VALUE'] = b2['VALUE']/100-273
b3['VALUE'] = b3['VALUE']/100-273
b4['VALUE'] = b4['VALUE']/100-273
b5['VALUE'] = b5['VALUE']/100-273

c['VALUE'] = c['VALUE']/100-273
c1['VALUE'] = c1['VALUE']/100-273
c2['VALUE'] = c2['VALUE']/100-273
c3['VALUE'] = c3['VALUE']/100-273
c4['VALUE'] = c4['VALUE']/100-273
c5['VALUE'] = c5['VALUE']/100-273

pro1990= []
for i,j in zip(a['VALUE'],a['COUNT']):
    pro1990 += [i]*j
    
pro1999= []
for i,j in zip(a1['VALUE'],a1['COUNT']):
    pro1999 += [i]*j

pro2004= []
for i,j in zip(a2['VALUE'],a2['COUNT']):
    pro2004 += [i]*j
    
pro2009= []
for i,j in zip(a3['VALUE'],a3['COUNT']):
    pro2009 += [i]*j
    
pro2014= []
for i,j in zip(a4['VALUE'],a['COUNT']):
    pro2014 += [i]*j

pro2019= []
for i,j in zip(a5['VALUE'],a5['COUNT']):
    pro2019 += [i]*j
    
#=======================================

liv1990= []
for i,j in zip(b['VALUE'],b['COUNT']):
    liv1990 += [i]*j
    
liv1999= []
for i,j in zip(b1['VALUE'],b1['COUNT']):
    liv1999 += [i]*j

liv2004= []
for i,j in zip(b2['VALUE'],b2['COUNT']):
    liv2004 += [i]*j

liv2009= []
for i,j in zip(b3['VALUE'],b3['COUNT']):
    liv2009 += [i]*j
    
liv2014= []
for i,j in zip(b4['VALUE'],b4['COUNT']):
    liv2014 += [i]*j

liv2019= []
for i,j in zip(b5['VALUE'],b5['COUNT']):
    liv2019 += [i]*j
    
#=======================================

eco1990= []
for i,j in zip(c['VALUE'],c['COUNT']):
    eco1990 += [i]*j
    
eco1999= []
for i,j in zip(c1['VALUE'],c1['COUNT']):
    eco1999 += [i]*j

eco2004= []
for i,j in zip(c2['VALUE'],c2['COUNT']):
    eco2004 += [i]*j    

eco2009= []
for i,j in zip(c3['VALUE'],c3['COUNT']):
    eco2009 += [i]*j
    
eco2014= []
for i,j in zip(c4['VALUE'],c4['COUNT']):
    eco2014 += [i]*j

eco2019= []
for i,j in zip(c5['VALUE'],c5['COUNT']):
    eco2019 += [i]*j 
    
import matplotlib.pyplot as plt

data = [eco1990,pro1990,liv1990]
data2=[eco1999,pro1999,liv1999]
data3 = [eco2004,pro2004,liv2004]
data4 = [eco2009,pro2009,liv2009]
data5=[eco2014,pro2014,liv2014]
data6 = [eco2019,pro2019,liv2019]
 	#箱型图名称
labels = ["ES", "PS", "LS"]
#三个箱型图的颜色 RGB (均为0~1的数据)
colors = [(135/255.,232/255.,255/255.), (245/255.,245/255.,122/255.), (196/255.,28/255.,0/255.)]
 	#绘制箱型图
 	#patch_artist=True-->箱型可以更换颜色,positions=(1,1.4,1.8)-->将同一组的三个箱间隔设置为0.4,widths=0.3-->每个箱宽度为0.3 
bplot = plt.boxplot(data, 0,'', patch_artist=True,labels=labels,positions=(1,1.6,2.2),widths=0.50,
                    medianprops={'color': 'gray', 'linewidth': '0.8'}
                    ,whiskerprops={'linestyle': ':'} ) 
 	#将三个箱分别上色
for patch, color in zip(bplot['boxes'], colors):
    patch.set_facecolor(color)

bplot2 = plt.boxplot(data2,  0,'', patch_artist=True, labels=labels,positions=(3.4,4,4.6),widths=0.50
                     ,  medianprops={'color': 'gray', 'linewidth': '0.8'}
                     ,  whiskerprops={'linestyle': ':'} ) 

for patch, color in zip(bplot2['boxes'], colors):
    
    patch.set_facecolor(color)

bplot3 = plt.boxplot(data3,  0,'',  patch_artist=True, labels=labels,positions=(5.8,6.4,7),widths=0.50
                     ,  medianprops={'color': 'gray', 'linewidth': '0.8'}
                     ,  whiskerprops={'linestyle': ':'} )

for patch, color in zip(bplot3['boxes'], colors):
    patch.set_facecolor(color)

bplot4 = plt.boxplot(data4,  0,'',  patch_artist=True, labels=labels,positions=(8.2,8.8,9.4),widths=0.50
                     ,  medianprops={'color': 'gray', 'linewidth': '0.8'}
                     ,  whiskerprops={'linestyle': ':'} )

for patch, color in zip(bplot4['boxes'], colors):
    patch.set_facecolor(color)

bplot5 = plt.boxplot(data5 , 0,'',  patch_artist=True, labels=labels,positions=(10.6,11.2,11.8),widths=0.50
                    ,  medianprops={'color': 'gray', 'linewidth': '0.8'}
                    ,  whiskerprops={'linestyle': ':'} )

for patch, color in zip(bplot5['boxes'], colors):
    patch.set_facecolor(color)

bplot6 = plt.boxplot(data6,  0,'',  patch_artist=True, labels=labels,positions=(13,13.6,14.2),widths=0.50
                     ,  medianprops={'color': 'gray', 'linewidth': '0.8'}
                     ,  whiskerprops={'linestyle': ':'} )

for patch, color in zip(bplot6['boxes'], colors):
    patch.set_facecolor(color)
  
  
font={'family': 'Times New Roman',
         'weight': 'normal',
         'size': 10}  
font1={'family': 'Times New Roman',
         'weight': 'normal',
         'size': 10}  

plt.tight_layout()
x_position=[1.2,3.6,6,8.4,10.8,13.2]
x_position_fmt=["1990","1999","2004","2009","2014","2019"]
plt.xticks([i + 0.8 / 2 for i in x_position], x_position_fmt,fontsize=8)

y_tick = np.linspace(10,45,8)
plt.yticks(y_tick,fontsize=8)

plt.xlabel('YEAR',font = font)
plt.ylabel('LST (℃)',font = font)
# plt.grid(linestyle="--", alpha=0.3)  #绘制图中虚线 透明度0.3
plt.legend(bplot['boxes'],labels,loc='lower right',prop=font1)  #绘制表示框,右下角绘制
plt.savefig(os.path.join(path,"pic.png"),figsize=[18,13],dpi=400)  
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值