Seaborn可视化从入门到精通:风格设置、调色板与常用图表详解
Seaborn可视化Seaborn的介绍简介 Seaborn 是以 matplotlib为底层更容易定制化作图的Python库。官网http://seaborn.pydata.org/ Seaborn其实是在matplotlib的基础上进行了更高级的API封装从而使得作图更加容易。在大多数情况下使用Seaborn就能做出很具有吸引力的图而使用matplotlib就能制作具有更多特色的图换句话说 matplotlib 更加灵活可定制化而Seaborn像是更高级的封装使用方便快捷。应该把Seaborn视为 matplotlib 的补充而不是替代物。安装pip install seaborn示例seaborn简单使用importmatplotlib.pyplotaspltimportseabornassns sns.set()plt.plot([1,5,10],[1,3,5])plt.show()加载数据集load_dataset()seaborn默认提供了数据集方便测试图表的使用importseabornassan sns.load_dataset(tips)sns.get_data_home()风格设置 除了各种绘图方式外图形的美观程度可能是我们最关心的了。将它放到第一部分因为风格设置是一些通用性的操作对于各种绘图方法都适用。Seaborn 支持的风格有5种darkgrid 黑背景-白格whitegrid 白背景-白格dark 黑背景white 白背景ticks设置风格的方法set(style‘’)set_style(value) 统一设置axes_style(value) 单一设置importseabornassnsfrommatplotlibimportpyplotasplt# 支持直接修改matplotlib的样式#设置风格#设置风格使用set_style()函数设置后后面的图都会使用该风格sns.set_style(whitegrid)#绘图plt.plot([1,2,3],[4,5,6])datasns.load_dataset(tips)# 5种样式sns.set_style(whitegrid)sns.barplot(datadata,xsex,ysize)sns.set_style(white)sns.barplot(datadata,xsex,ysize)sns.set_style(darkgrid)sns.barplot(datadata,xsex,ysize)sns.set_style(dark)sns.barplot(datadata,xsex,ysize)sns.set_style(ticks)sns.barplot(datadata,xsex,ysize)# set方法实现sns.set(stylewhitegrid)sns.barplot(datadata,xsex,ysize)# 单独设置withsns.axes_style(darkgrid):#临时设置风格sns.barplot(datadata,xsex,ysize)调色板颜色比图形样式的其他方面更重要因为如果有效使用颜色可以更凸显示数据的结果与重要Seaborn可以轻松选择和使用适合您正在使用的数据类型的调色板以及您可视化的目标支持的方法color_palette() 能传入任何Matplotlib所支持的颜色color_palette() 不写参数则,默认颜色 deep, muted, pastel, bright, dark, colorblindcolor_palette() [“#9b59b6”, “#3498db”, “#95a5a6”, “#e74c3c”, “#34495e”, “#2ecc71”]light_palette()dark_palette()set_palette()设置所有图的颜色调色板importseabornassns#获取默认调色板sns.color_palette()sns.color_palette(deep)#seaborn支持的颜色,10个色块连续的调色板sns.color_palette(deep,6)#6种颜色sns.color_palette(Reds)#matplotlib支持的颜色sns.color_palette(Reds_r)#matplotlib支持的颜色,r表示reverse自定义连续调色板sns.palplot(sns.light_palette(green))sns.palplot(sns.dark_palette(purple))xkcd_rgb 颜色从xkcd_rgb这产生了一组颜色https://xkcd.com/color/rgb/可以使用xkcd_rgb在seaborn中引用它们sns.xkcd_palette([purple,dark pink,algae,spring green,greyish blue])色板的应用#设置到matplotlibfrommatplotlibimportpyplotasplt#plt.plot([1,3,2,4,5,],[1,9,4,16,25],colorsns.color_palette(husl)[2])plt.bar([1,3,2,4,5,],[1,9,4,16,25],colorsns.color_palette(husl,5))#设置到seabornsns.barplot(x[1,2,3,4,5],y[1,4,9,16,25],palettesns.color_palette(husl,5),hue[1,2,3,4,5],legendFalse)【图片7】柱状图常见方法barplot方法 单独绘制条形图catplot方法 可以条形图、散点图、盒图、小提亲图、等countplot方法 统计数量常规条图importseabornassns#加载数据表tipssns.load_dataset(tips)#常规数据表sns.barplot(datatips,xday,ytotal_bill)横向条图importseabornassns# 示例数据tipssns.load_dataset(tips)#横向条图sns.barplot(datatips,xtotal_bill,yday)分组条图import seaborn as sns # 示例数据 tips sns.load_dataset(tips) #分组条图 sns.barplot(datatips,xday, ytotal_bill, huesex)设置颜色importseabornassns# 示例数据tipssns.load_dataset(tips)#设置颜色sns.barplot(datatips,xday,ytotal_bill,colorblue)#color适用与单色#设置颜色sns.barplot(datatips,xday,ytotal_bill,huesex,palettedark:salmon)#如果是多色使用palette参数统计数量importseabornassns tips.groupby(day).count()直方图方法histplot方法 绘制单变量或双变量直方图来显示数据集的分布displot方法 绘制直方图、核密度图。可以比较多个变量分布情况常规importseabornassns# 示例数据tipssns.load_dataset(tips)#统计单个指标的频数sns.histplot(tips[total_bill])sns.displot(tips[total_bill])额外设置额外的设置#直方图 KDE核密度估计# 核密度估计的作用是用来估计概率密度函数的它可以用来描述随机变量的密度分布# 一sns.displot(datatips,xtotal_bill,kdeTrue)# 二sns.histplot(datatips,xtotal_bill,kdeTrue)#设置分组# 一sns.histplot(datatips,xtotal_bill,kdeTrue,bins10)# 二sns.displot(datatips,xtotal_bill,kdeTrue,bins10)#设置多组sns.histplot(datatips,xtotal_bill,kdeTrue,huesex)sns.displot(datatips,xtotal_bill,kdeTrue,huesex)#设置多组显示的方式#layer:默认值将多组数据叠加在一起sns.displot(datatips,xtotal_bill,kdeTrue,huesex,multiplelayer)#dodge:将多组数据分开显示sns.displot(datatips,xtotal_bill,kdeTrue,huesex,multipledodge)#stack:将多组数据堆叠显示sns.displot(datatips,xtotal_bill,kdeTrue,huesex,multiplestack)#fill:以百分比堆叠的形式展示sns.displot(datatips,xtotal_bill,kdeTrue,huesex,multiplefill)# 定制直方图sns.displot(datatips,xtotal_bill,kdeTrue,colorskyblue,edgecolorblack,linewidth1)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2630649.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!