seaborn的多样化图表及图表样式设置

本文详细介绍如何使用Seaborn库绘制单变量和双变量条形散点图,箱线图与琴形图,并掌握多变量分类和配色技巧。通过设置风格、背景和元素比例,了解如何利用Set3分类色板绘制生动的琴形图。移除边框并调整坐标轴,让你的图表更具专业感。
摘要由CSDN通过智能技术生成

单变量条形散点图
sns.stripplot(x, y, data)可用于绘制单变量条形散点图,
第一个参数x为横坐标方向上的特征,第二个参数y为纵坐标方向上的特征,参数 data 用于指定数据集。

sns.swarmpot()使用避免重叠点的算法将分类轴上的每个散点图点定位。

双变量条形散点图
在绘图的过程中,传入参数hue可以设置条形柱中的另一个变量名。

箱线图和琴形图
sns.boxplot( )可绘制箱线图。
sns.violinplot( )用于绘制琴形图,琴形图是箱线图和核密度图的结合。

多变量分类绘图
factorplot( )可以将多种绘制方法封装在同一个函数中。
sns.factorplot(x, y, data, hue, kind),kind参数默认为点图point,还可以选择柱形图bar, 计数图count, 箱线图box, 琴形图violin, 散点图strip,分散点图swarm。

PairGrid( )可绘制多变量分类图,可将不同变量之间的关系绘制在同一个矩阵中。
sns.PairGrid(data, x_vars, y_vars),
data参数用于设置绘图所需的数据集,x_vars设置x轴上的分类变量,y_vars用于设置y轴方向上的分类变量。

图表样式设置:

在这里插入图片描述

绘图风格可以通过sns.set()函数来设置,style用于设置绘图风格,context用于设置绘图元素大小。
sns.despine()用于去除坐标轴。
颜色画板分类色板(qualitative),连续色板(sequential),离散色板(diverging)。
通过设置绘图函数得palette参数,或者sns.set_palette( )均可以设置不同的调色板

sns.set( style,context,palette,font,font_scale)

通过sns.set()函数,我们可以设置风格、字体、标题等。style参数可以设置绘图风格,context用于设置字体、标题等元素的大小。

style参数:
darkgrid 黑色网格(默认)
whitegrid 白色网格
dark 黑色背景
white 白色背景
ticks 四周有刻度线的白背景

context参数:用于设置绘图元素比例,比如,图像线条粗细、坐标轴刻度标签的字体大小
context表示元素的大小,默认值为:notebook,其它可选值分别为:paper, notebook, talk, poster,其中,设置为paper,元素显示最小,而设置为poster,元素显示最大

sns.set_context("notebook", font_scale=1.2, rc={"lines.linewidth": 1.5})

font_scale参数用于设置字体大小,rc参数传入字典设置线宽

移除边框线:sns.despine()
sns.despine()中的参数top、right、left、bottom来设置方向,在默认情况下,
top=True,
right=True,
left=False,
bottom=False,而设置为True,则将该方向的边框线移除,也就是说,默认参数下,我们绘制的图像都是没有上边和右边的边框线

图像颜色

sns.set_palette( )的参数值来设置图像的颜色
Seaborn提供了sns.color_palette()函数,这个函数可以生成色板,允许我们生成各种颜色的色板。然后,将生成的色板作为绘图函数的参数palette的参数值,或者作为sns.set_palette()的参数值,这样的操作都会改变图像的颜色。

Seaborn中有三种通用的调色板可以使用:
分类色板(qualitative):不连续、且内在没有顺序关系的数据
连续色板(sequential):可以用于核密度估计图等
离散色板(diverging):数据分布比较偏向于两极化

分类色板(qualitative)
有6种不同的默认主题,它们分别是:deep,muted,pastel,bright,dark,colorblind
在这里插入图片描述
sns.palplot()函数来查看色板主题

连续色板:

# 输出Reds色板
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
sns.palplot(sns.color_palette("Reds"))

效果如图:
在这里插入图片描述
如果我们想将颜色翻转渐变,可以在面板名称中添加一个_r后缀。

# 输出Reds_r翻转色板
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
sns.palplot(sns.color_palette("Reds_r"))

在这里插入图片描述

查看各分类色板

import seaborn as sns
data_type = ["qualitative", "sequential", "diverging"]
for elem in data_type:
    sns.choose_colorbrewer_palette(elem)

在这里插入图片描述
在每种色板的交互界面中,name行可以选择该分类下的色板名称,n用于设置色板中的颜色数量, desat设置色彩饱和度, variant设置颜色排序是否转置。这样大家就可以查看每种色板分类中的常用色板了

图像要求:
绘图背景风格设置为:whitegrid
图像元素比例设置为:talk
sns.set(style=“whitegrid”,context=‘talk’)

绘制琴形图时,绘图颜色使用分类色板:Set3
sns.violinplot(data = menu[nutri_name],palette="Set3")

将图像的坐标轴都移除
sns.despine(left=True, bottom=True)

x轴刻度标签旋转7度
plt.xticks(rotation = 7)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值