matplotlib与seaborn,箱形图绘制比较

本文对比了使用Seaborn和Matplotlib绘制箱型图的过程,展示了Seaborn在绘图上的简洁性和强大功能,同样的图表,Seaborn仅用9行代码实现了原本需30行Matplotlib代码才能完成的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我开始研究seaborn时我惊呆了, seaborn之于matplotlib,相当于pandas之于numpy呀。真是强又简洁,终于不用幸苦修改参数,图画得要更漂亮了,能用一句话搞定的,python绝不说多句。下面用我绘的一个图作例子,matplotlib绘图用了30行, seaborn用了9行。

原数据:2007年1月至2018年12月的平均颗粒物数据
在这里插入图片描述

matplotlib绘图(箱型图)

在这里插入图片描述

import pandas as pd
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\\WINDOWS\\Fonts\\simsun.ttc", size=14)
import numpy as np
data=pd.read_csv('M:\\data\\PM历年月平均值.csv',index_col=0,encoding='gbk')
#月分类
month=tuple((i for i in range(1,13)))
#建设年为索引,月为列的dataframe
dfM=pd.DataFrame(columns=month)
dfm=pd.DataFrame(columns=month)
#对元素赋值
for i in month:
    temx='0'+str(i) if i<10 else str(i)
    temdata=data[data['time'].apply(lambda x:str(x)[-2:]).str.contains(temx)]
    dfM[i]=temdata['PM2.5'].values
#更改索引名
color = dict(boxes='DarkGreen',whiskers='DarkOrange',medians='DarkBlue',caps='Gray')
dfM.plot.box(ylim = [0,100],
           grid = True,
           color = color,
           )
plt.xlabel('月份',FontProperties=font)
plt.ylabel('质量浓度(μg/$\mathregular{m^3}$)',FontProperties=font)
plt.title('PM$_{2.5}$')
plt.show()

senborn绘图(箱型图)

在这里插入图片描述

import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
import seaborn as sns
sns.set(font='SimHei')
data=pd.read_csv('M:\\data\\PM历年月平均值.csv',index_col=0,encoding='gbk')
data['月份']=data['time'].apply(lambda x:str(x)[-2:])
sns.boxplot(x=data['月份'],y=data['PM2.5'],data=data, palette='PRGn')
plt.show()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值