【Python基础】seaborn 使用指南(超详细!)

文章目录

  • seaborn
    • 1 seaborn简介
      • 1.1 主要特征:
      • 1.2 seaborn主要内容
    • 2 seaborn基本设置
      • 2.1 图表大小:context
      • 2.2 设置风格
      • 2.3 设置字体与支持中文
      • 2.4 设置临时风格
      • 2.5 设置调色板
      • 2.6 set方法
    • 3 调色板
      • 3.1 分类色板(qualitative)
      • 3.2 连续调色板
      • 3.3 离散色板
    • 4 seaborn内置数据集
      • 4.1 数据集
    • 5 seaborn常用的图表
      • 5.1 分类图表
      • 5.2 分布图
      • 5.3 关系图
        • 5.3.1 散点图
        • 5.3.2 线性回归图
      • 5.4 其他常用图表
        • 5.4.1 catplot
        • 5.4.2 relplot
        • 5.4.3 FacetGrid
        • 5.4.4 PairGrid
        • 5.4.5 JointGrid
        • 5.4.6 joinplot

seaborn

1 seaborn简介

seaborn :带着定制主题和高级界面控制的Matplotlib扩展包,兼容Numpy与Pandas数据结构;

官网地址:http://seaborn.pydata.org/index.html (http://seaborn.pydata.org/index.html)

1.1 主要特征:

  • 基于matplotlib绘图风格,增加了绘图模式
  • 增加调色板功能,色彩更加丰富
  • 绘图接口功能强大,能够处理更加复杂图形绘制
  • 用数据子集绘制与比较单变量和双变量分布的功能
  • 用聚类算法可视化矩阵数据
  • 灵活运用处理时间序列数据
  • 利用网格建立复杂图像集

一句话概括:seaborn能够使用最简单的代码,将数据进行更好的展示;

1.2 seaborn主要内容

  • 图表风格,颜色,线条等基本设置
  • seaborn常用的数据集
  • seaborn常用图表详解

2 seaborn基本设置

import seaborn as sns
sns.__version__
'0.13.0'
import matplotlib.pyplot as plt
#导入seaborn
import seaborn as sns
import numpy as np
import pandas as pd
%matplotlib inline
#使用lineplot绘制直线
sns.lineplot(x=[1,2,3],y=[1,2,3])
<AxesSubplot: >


png

2.1 图表大小:context

sns.set_context(context=None, font_scale=1, rc=None)

  • context值:paper, notebook, talk, poster
  • font_scale:字体缩放
  • 设置之后在jupyter中一直生效
x = [1,2,3]
y = [1,2,3]
sns.set_context('notebook', font_scale=1)
sns.lineplot(x=x,y=y)
<AxesSubplot: >


png

2.2 设置风格

sns.set_style(style=None, rc=None)

  • style:darkgrid, whitegrid, dark, white, ticks
  • rc:字典格式,设置seaborn其他样式,例如:字体,子大小等
x = [1,2,3]
y = [1,2,3]
#改变风格
sns.set_style('darkgrid')
sns.lineplot(x=x,y=y)
<AxesSubplot: >


png

# 获取当前风格
sns.axes_style()
{'axes.facecolor': '#EAEAF2',
 'axes.edgecolor': 'white',
 'axes.grid': True,
 'axes.axisbelow': True,
 'axes.labelcolor': '.15',
 'figure.facecolor': 'white',
 'grid.color': 'white',
 'grid.linestyle': '-',
 'text.color': '.15',
 'xtick.color': '.15',
 'ytick.color': '.15',
 'xtick.direction': 'out',
 'ytick.direction': 'out',
 'lines.solid_capstyle': <CapStyle.round: 'round'>,
 'patch.edgecolor': 'w',
 'patch.force_edgecolor': True,
 'image.cmap': 'rocket',
 'font.family': ['sans-serif'],
 'font.sans-serif': ['Arial',
  'DejaVu Sans',
  'Liberation Sans',
  'Bitstream Vera Sans',
  'sans-serif'],
 'xtick.bottom': False,
 'xtick.top': False,
 'ytick.left': False,
 'ytick.right': False,
 'axes.spines.left': True,
 'axes.spines.bottom': True,
 'axes.spines.right': True,
 'axes.spines.top': True}

2.3 设置字体与支持中文

sns.pointplot(x=[1,2,3],y=[4,5,6])
plt.xlabel('表格')
sns.set_style({"font.sans-serif":['simhei','Droid Sans Fallback']})
#sns.despine()


png

2.4 设置临时风格

sns.axes_style(style=None, rc=None)

def myplot():
    sns.lineplot(x=[1,2,3],y=[1,2,3])
#设置临时风格 
with sns.axes_style("whitegrid"):
    plt.subplot(211)
    myplot()
plt.subplot(212)
myplot()


png

2.5 设置调色板

sns.set_palette(palette, n_colors=None, desat=None, color_codes=False)

  • palette:‘deep’, ‘muted’, ‘pastel’, ‘bright’, ‘dark’, 'colorblind’或者hls, husl
  • n_colors:颜色数量
  • 作用:调色板,使用plot方法绘制时,颜色使用深度不一样
# 设置调色板
import numpy as np
sns.set_palette('dark')
x = y = np.array([1,2,3])
sns.lineplot(x=x,y=y)
sns.lineplot(x=x,y=y+1)
<AxesSubplot: >


png

# 设置hls, n_colors颜色种类
sns.set_palette('hls', n_colors=3)
lines = np.arange(0,40).reshape(20,2)
for line in lines:
    plt.plot(line)


png

2.6 set方法

sns.set(context='notebook',style='darkgrid',palette='deep',font='sans-serif',font_scale=1,color_codes=True,rc=None,)

上面方法的集合体

#设置默认值
sns.set()
x = y = np.array([1,2,3])
sns.lineplot(x=x,y=y)
sns.lineplot(x=x,y=y+1)
<AxesSubplot: >


png

3 调色板

颜色类别:

  • 分类:彼此间差异较大
  • 连续:颜色按照顺序渐变
  • 离散:中间颜色浅,两端颜色深

主要方法:

  • 获取颜色:sns.color_palette(palette=None, n_colors=None, desat=None)
  • 显示颜色:sns.palplot(pal, size=1)

3.1 分类色板(qualitative)

  1. 默认主题

    默认6中颜色:deep, muted, pastel, bright, dark, colorblind;

    当palette设置为以上几种颜色,n_colors设置值超过deep颜色种类是,使用重复颜色;

# 产生颜色
cls = sns.color_palette(palette='deep')
# 使用palplot绘制颜色
sns.palplot(cls)
# 颜色实质:RGB组成的元祖
cls


png

  1. hls色圈系统

    在一个色圈空间内使用均匀分布的颜色;

    主要方法:

    • 通用方法:cls = sns.color_palette(palette=‘hls’,)/cls = sns.color_palette(palette=‘husl’,)
    • 设置hls饱和度等:sns.hls_palette(n_colors=6, h=0.01, l=0.6, s=0.65)
cls = sns.color_palette(palette='hls', n_colors=20)
sns.palplot(cls)


png

cls = sns.color_palette(palette='husl', n_colors=20)
sns.palplot(cls)


png

cls =sns.hls_palette(n_colors=20, h=0.2, l=0.6, s=0.65)
sns.palplot(cls)


png

  1. 使用xkcd颜色来命名颜色
    • xkcd:色板,名称,RGB值
    • xkcd链接:https://xkcd.com/color/rgb/ (https://xkcd.com/color/rgb/)
    • 获取名称对应的RGB值:字典sns.xkcd_rgb
    • 通过xkcd获取颜色:sns.xkcd_palette(colors)
sns.palplot(sns.xkcd_palette(["purple", "violet", "greyish", "aqua", "green"]))


png

3.2 连续调色板

  1. Color Brewer

    color_palette(pallette=' ')中可以填充特定Color Brewer值,设定颜色。

    主要值有:

    Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r,
    Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r,
    PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu,
    PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r,
    RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r,
    Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r,
    YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r, afmhot, afmhot_r, autumn, autumn_r, binary,
    binary_r, bone, bone_r, brg, brg_r, bwr, bwr_r, cividis, cividis_r, cool, cool_r, coolwarm,
    coolwarm_r, copper, copper_r, cubehelix, cubehelix_r, flag, flag_r, gist_earth, gist_earth_r,
    gist_gray, gist_gray_r, gist_heat, gist_heat_r, gist_ncar, gist_ncar_r, gist_rainbow, gist_rainbow_r,
    gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, gnuplot, gnuplot2, gnuplot2_r, gnuplot_r,
    gray, gray_r, hot, hot_r, hsv, hsv_r, icefire, icefire_r, inferno, inferno_r,jet, jet_r, magma, magma_r,
    mako, mako_r, nipy_spectral, nipy_spectral_r, ocean, ocean_r, pink, pink_r, plasma, plasma_r,
    prism, prism_r, rainbow, rainbow_r, rocket, rocket_r, seismic, seismic_r, spring, spring_r,
    summer, summer_r, tab10, tab10_r, tab20, tab20_r, tab20b, tab20b_r, tab20c, tab20c_r, terrain, terrain_r,
    twilight, twilight_r, twilight_shifted, twilight_shifted_r, viridis, viridis_r, vlag, vlag_r, winter, winter_r

    使用Color Brewer颜色

    • 末尾加r可翻转色板
    • 末尾加d可变暗
# 产生颜色,通过设置n_colors产生一系列不重复的颜色
cls = sns.color_palette(palette='Blues', n_colors=50)
sns.palplot(cls)


png

# 末尾加r可翻转色板
cls = sns.color_palette(palette='Blues_r', n_colors=50)
sns.palplot(cls)


png

# 末尾加d可变暗
cls = sns.color_palette(palette='Blues_d', n_colors=50)
sns.palplot(cls)


png

  1. cubehelix_palette调色板

    sns.cubehelix_palette(n_colors=6,start=0,rot=0.4,gamma=1.0,hue=0.8,light=0.85,dark=0.15,reverse=False,as_cmap=False)

sns.palplot(sns.cubehelix_palette(10, start=.3, rot=-.5))


png

  1. 单一调色板

    • sns.light_palette(color,n_colors=6,reverse=False,as_cmap=False,input='rgb',)
    • sns.dark_palette(color,n_colors=6,reverse=False,as_cmap=False,input='rgb',)
sns.palplot(sns.light_palette('green',n_colors=20))


png

3.3 离散色板

Color Brewer色板

diverging_palette:sns.diverging_palette(h_neg,h_pos,s=75,l=50,sep=10,n=6,center='light',as_cmap=False)

主要参数:

  • s与l:明暗
  • n:控制数量
  • sep:中间色的宽度
  • center控制中间色
sns.palplot(sns.color_palette("BrBG", 10))


png

sns.palplot(sns.diverging_palette(200, 290, s=70, l=30, n=10, sep=20, center="dark"))


png

4 seaborn内置数据集

  • 获取数据集名称列表:sns.get_dataset_names()
  • 导入数据集:sns.load_dataset(name, cache=True, data_home=None, **kws)

4.1 数据集

seaborn中内置数据集是非常好的,做分析入门的数据集,常用的数据集;

数据集名称描述
flights1949年到1960年期间,每个月的航班乘客的数量
geyser间歇泉喷发的间隔时间
iris鸢尾花
tips小费
titanic泰坦尼克获救数据
  1. 获取数据集列表
sns.get_dataset_names()
['anagrams',
 'anscombe',
 'attention',
 'brain_networks',
 'car_crashes',
 'diamonds',
 'dots',
 'dowjones',
 'exercise',
 'flights',
 'fmri',
 'geyser',
 'glue',
 'healthexp',
 'iris',
 'mpg',
 'penguins',
 'planets',
 'seaice',
 'taxis',
 'tips',
 'titanic']
  1. 导入数据集
# 导入数据集
pdata = sns.load_dataset('tips')
pdata
total_billtipsexsmokerdaytimesize
016.991.01FemaleNoSunDinner2
110.341.66MaleNoSunDinner3
221.013.50MaleNoSunDinner3
323.683.31MaleNoSunDinner2
424.593.61FemaleNoSunDinner4
........................
23929.035.92MaleNoSatDinner3
24027.182.00FemaleYesSatDinner2
24122.672.00MaleYesSatDinner2
24217.821.75MaleNoSatDinner2
24318.783.00FemaleNoThurDinner2

244 rows × 7 columns

5 seaborn常用的图表

  • seabron支持图表格式比较丰富
  • 文档描述:https://seaborn.apachecn.org/ (https://seaborn.apachecn.org/)

seaborn图表相关方法使用方式与参数类似 常用图表类型如下

5.1 分类图表

  1. barplot方法

    sns.barplot(x=None,y=None,hue=None,data=None,order=None,hue_order=None,estimator=<function meanat 0x000001C71D259288>,ci=95,...)

    主要参数:

    参数说明
    x, yx轴数据或者 data 中的列名
    huedata 中的列名,用于分类
    data数据
    order绘制类别变量的顺序
    hue_order绘制 hue 变量的顺序
    estimator统计量方法,默认为 mean
    ci估计值周围的置信区间大小
    n_boot计算置信区间需要迭代的次数
    orient绘图的方向,v 表示垂直,h 表示水平
    color元素的颜色
    palette不同级别 hue 变量的颜色
    ax指定 axes
# 不同时间点消费均值:根据time进行分组,并计算total_bill的均值,使用sns可视化
pdata.groupby('time', observed=False)['total_bill'].mean().plot.bar()
<AxesSubplot: xlabel='time'>


png

# 使用sns.barplot方法
sns.barplot(x='time', y='total_bill', data=pdata)
<AxesSubplot: xlabel='time', ylabel='total_bill'>


png

# 不同时间点,不同性别消费均值:使用barplot中的hue参数
sns.barplot(x='time', y='total_bill', data=pdata, hue = 'sex')
<AxesSubplot: xlabel='time', ylabel='total_bill'>


png

#设置颜色
sns.barplot(x='time', y='total_bill', data=pdata, hue = 'sex', palette='seismic')
<AxesSubplot: xlabel='time', ylabel='total_bill'>


png

  1. 箱状图
    • 展现与类别相关的数据分布状况
    • 使用四分位数表示数据分布情况,可以标识异常数据
    • 箱状图方法:sns.boxplot(x=None, y=None,hue=None,data=None)
    • 主要参数:
      参数说明
      fliersize表示异常值观察的标记的大小
      whis超过高低四分位数时 IQR 的比例
# 箱状图:不同日期消费区别
pdata = sns.load_dataset('tips')
sns.set(style='darkgrid',palette='hls' )
sns.boxplot(x='day', y='total_bill', data=pdata, orient='v')
<AxesSubplot: xlabel='day', ylabel='total_bill'>


png

# 不同性别消费情况
sns.boxplot(x='sex', y='total_bill', data=pdata, orient='v')
<AxesSubplot: xlabel='sex', ylabel='total_bill'>


png

# 不同性别,不同饭点消费情况
sns.boxplot(x='sex', y='total_bill',hue='time', data=pdata, orient='v')
<AxesSubplot: xlabel='sex', ylabel='total_bill'>


png

# 指定不同whis,控制异常区间(默认大于上四分位数1.5或者小于下四分位数的1.5)
sns.boxplot(x='sex', y='total_bill',hue='time', data=pdata, orient='v',whis=1.5)
<AxesSubplot: xlabel='sex', ylabel='total_bill'>


png

  1. 分类散点图

    主要方法:

    • 点可以重复:sns.swarmplot(x=None,y=None,hue=None,data=None,...)
    • 点不能重复:sns.stripplot(x=None,y=None,hue=None,data=None,...)
# 分类散点图
sns.set_palette(sns.color_palette('husl'))
plt.figure(figsize=(16, 4))
ax1 = plt.subplot(1,2,1)
sns.swarmplot(x='sex', y='total_bill',hue='time', data=pdata, ax=ax1, dodge=True)
ax2 = plt.subplot(1,2,2)
sns.stripplot(x='sex', y='total_bill',hue='time', data=pdata, ax=ax2,dodge=True)
<AxesSubplot: xlabel='sex', ylabel='total_bill'>


png

箱状图与分类散点图结合,获取数据分布更加详细信息

sns.set_palette(sns.color_palette('husl'))
sns.swarmplot(x='sex', y='total_bill',hue='time', data=pdata,dodge=True)
sns.set_palette('dark')
sns.boxplot(x='sex', y='total_bill',hue='time', data=pdata)
<AxesSubplot: xlabel='sex', ylabel='total_bill'>


png

  1. 数量统计

    数量统计:sns.countplot(x=None,y=None,hue=None,data=None,...)

#不同性别数量
_ = sns.countplot(x='sex', data=pdata)


png

#不同性别,不同饭点数量
_ = sns.countplot(x='sex', hue='time', data=pdata)


png

5.2 分布图

  1. 直方图
    • sns.distplot(a,bins=None,hist=True,kde=True, rug=False,fit=None,...)(该方法已被弃用)
    • sns.histplot(data,x=None,y=None,hue=None,kde=None,...)
# 使用直方图查看用户消费额度分布
sns.histplot(pdata['total_bill'], color='g', kde=True)
<AxesSubplot: xlabel='total_bill', ylabel='Count'>


png

# 设置不同颜色
sns.distplot(pdata['total_bill'],color='g',rug=True, rug_kws={'color':'r'}, kde_kws={'color':'b'})

 UserWarning: 

`distplot` is a deprecated function and will be removed in seaborn v0.14.0.

Please adapt your code to use either `displot` (a figure-level function with
similar flexibility) or `histplot` (an axes-level function for histograms).

For a guide to updating your code to use the new functions, please see
https://gist.github.com/mwaskom/de44147ed2974457ad6372750bbe5751

  sns.distplot(pdata['total_bill'],color='g',rug=True, rug_kws={'color':'r'}, kde_kws={'color':'b'})





<AxesSubplot: xlabel='total_bill', ylabel='Density'>


png

# 设置bins
sns.histplot(pdata['total_bill'],bins=10, color='g', kde=True)
<AxesSubplot: xlabel='total_bill', ylabel='Count'>


png

  1. KDE图

    • 拟合并绘制单变量或双变量核密度估计图
    • sns.kdeplot(data,data2=None,shade=False,vertical=False,kernel='gau',...)
    • 主要参数:
      方法说明
      data, data2一维数据
      shade是否显示阴影
      vertical方向,True 表示垂直,False 表示水平
      kernel核函数,可选值包括 ‘gau’, ‘cos’, ‘biw’, ‘epa’, ‘tri’, ‘triw’
      bwKDE 的带宽(bandwidth),可选值包括 ‘scott’, ‘silverman’, scalar, pair of scalars
sns.kdeplot(pdata.total_bill, color='r')
<AxesSubplot: xlabel='total_bill', ylabel='Density'>


png

# 双变量核密度:消费与小费
sns.kdeplot(data=pdata, x="total_bill", y="tip", cmap='Accent')
<AxesSubplot: xlabel='total_bill', ylabel='tip'>


png

5.3 关系图

需求:得到一组数据后,查看数据关系:线性关系,类别关系或者其他关系,如何处理?

5.3.1 散点图

sns.scatterplot(x=None,y=None,hue=None,style=None,size=None,data=None,palette=None)

#导入数据:
iris = sns.load_dataset('iris')
#花萼长宽
sns.scatterplot(x='sepal_length', y = 'sepal_width', hue='species', data=iris)
<AxesSubplot: xlabel='sepal_length', ylabel='sepal_width'>


png

#花瓣长宽
sns.scatterplot(x='petal_length', y = 'petal_width', hue='species', data=iris)
<AxesSubplot: xlabel='petal_length', ylabel='petal_width'>


png

5.3.2 线性回归图
  • 拟合数据集回归模型的绘图方法
  • lmplot:sns.lmplot(x,y,data,hue=None,col=None,row=None,…)
import statsmodels
sns.lmplot(x='petal_length', y = 'petal_width', hue='species', data=iris,truncate=False)
<seaborn.axisgrid.FacetGrid at 0x1c6eeac02d0>


png

5.4 其他常用图表

5.4.1 catplot
  • 将分类图绘制到 FacetGrid 上图级别接口
  • 在不同的图表中对数据进行展示,支持多种展示方式
  • seaborn.catplot(x=None, y=None, hue=None, data=None, row=None, col=None, col_wrap=None,...)
  • 返回:FacetGrid
import seaborn as sns

# 使用Seaborn自带的示例数据集"tips"
g = sns.catplot(x="sex", y="total_bill", hue="smoker", data=sns.load_dataset("tips"), kind="box")


png

#定col:
sns.catplot(x="sex", y="total_bill", hue="smoker",data=sns.load_dataset("tips"), kind="box", col = 'time')
<seaborn.axisgrid.FacetGrid at 0x1c6eaa6dad0>


png

#定row:
sns.catplot(x="sex", y="total_bill", hue="smoker",data=sns.load_dataset("tips"), kind="box", row = 'time')
<seaborn.axisgrid.FacetGrid at 0x1c6efdd1c50>


png

#指定row与col
sns.catplot(x="sex", y="total_bill", data=sns.load_dataset("tips"), kind="box", row = 'time', col='day')
<seaborn.axisgrid.FacetGrid at 0x1c6ebc59390>


png

5.4.2 relplot

功能与catplot类似,用与显示两个变量的关系

sns.relplot(x="total_bill", y="tip", data=sns.load_dataset("tips"), kind="line",col='day')
<seaborn.axisgrid.FacetGrid at 0x1c6f09a1710>


png

5.4.3 FacetGrid
  • 根据设置条件生成多个图表,效果与catplot,relplot类似
  • g = sns.FacetGrid(data, row=None, col=None, hue=None, col_wrap=None,...)
  • g.map(func, *args, **kwargs):绘制图表制图表
tips=sns.load_dataset("tips")
g = sns.FacetGrid(tips, row='sex', col='day')
g.map(plt.hist, 'total_bill')
<seaborn.axisgrid.FacetGrid at 0x1c6f168ac50>


png

5.4.4 PairGrid
  • 数据集中成对关系的子图
  • 将数据集中每个变量映射到多个子图中,两两交叉
  • g = sns.PairGrid(data,hue=None,hue_order=None,palette=None,hue_kws=None,vars=None,...)
  • g.map_diag(func, **kwargs):绘制对角线图表
  • g.map_offdiag(func, **kwargs):绘制非对角线图表线图表
iris = sns.load_dataset("iris")
g = sns.PairGrid(iris)
g = g.map(plt.scatter)

png

#设置对角线与其他方式
g = sns.PairGrid(iris, hue="species")
g = g.map_diag(plt.hist)
g = g.map_offdiag(plt.scatter)
g = g.add_legend()


png

5.4.5 JointGrid
  • 绘制双变量与边际单变量图表
  • g = sns.JointGrid(x, y, data=None, height=6, ratio=5, space=0.2, dropna=True, xlim=None, ylim=None,size=None)
  • g.plot(joint_func, marginal_func, annot_func=None) #绘制联合图表与边缘图表
  • g.plot_joint(func, **kwargs) #绘制联合图表
  • g.plot_marginals(func, **kwargs) #绘制边缘图表绘制边缘图表
g = sns.JointGrid(x="total_bill", y="tip", data=tips)
#绘制回归图与直方图
g.plot(sns.regplot, sns.histplot)
<seaborn.axisgrid.JointGrid at 0x201dcd910d0>


png

5.4.6 joinplot
  • 绘制变量的双变量及单变量图
  • g = sns.jointplot(x, y, data=None,kind='scatter',stat_func=None,color=None,...)
tips = sns.load_dataset("tips")
g = sns.jointplot(x="total_bill", y="tip", data=tips)


png

g = sns.jointplot(x="total_bill", y="tip", data=tips, kind="reg")


png

sns.jointplot(x="total_bill", y="tip", data=tips, kind="hex")
<seaborn.axisgrid.JointGrid at 0x1c6efd7a6d0>


png

iris = sns.load_dataset("iris")
g = sns.jointplot(x="sepal_width", y="petal_length", data=iris,kind="kde", space=0, color="g")


png

g = sns.jointplot(x="sepal_length", y="sepal_width", data=iris, color="k")
g.plot_joint(sns.kdeplot, zorder=0, n_levels=6)
<seaborn.axisgrid.JointGrid at 0x1c6efd79f50>


png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/371897.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3.0 Hadoop 概念

本章着重介绍 Hadoop 中的概念和组成部分&#xff0c;属于理论章节。如果你比较着急可以跳过。但作者不建议跳过&#xff0c;因为它与后面的章节息息相关。 Hadoop 整体设计 Hadoop 框架是用于计算机集群大数据处理的框架&#xff0c;所以它必须是一个可以部署在多台计算机上…

chisel RegInit/UInt/U

val reg RegInit(0.U(8.W)) //ok val reg RegInit(0.UInt(8.W)) //errU 使用在数字 . 后边50.U UInt 使用在IO(new Bundle val a Input(UInt(8.W)) 或者 def counter(max:UInt, a1:UInt) package emptyimport chisel3._ import chisel3.util._class MyCounter extends …

Java技术栈 —— Hive与HBase

Java技术栈 —— Hive与HBase 一、 什么是Hive与HBase二、如何使用Hive与HBase&#xff1f;2.1 Hive2.1.1 安装2.1.2 使用2.1.2.1 使用前准备2.1.2.2 开始使用hive 2.2 HBase2.2.1 安装2.2.2 使用 三、Apache基金会 一、 什么是Hive与HBase 见参考文章。 一、参考文章或视频链…

神经网络激活函数到底是什么?

激活函数 其实不是很难啦&#xff0c;归结一下就是大概这样几个分类&#xff0c;详情请参考【神经网络】大白话直观理解&#xff01;_哔哩哔哩_bilibili神经网络就是干这个事的~ 如果队伍不长&#xff0c;一个ykxb就可以了&#xff0c;如果 如果 队伍太长 就加一个激活函数也…

C语言函数递归详解

递归是什么&#xff1f; 递归&#xff0c;顾名思义&#xff0c;就是递推和回归。 递归是一种解决问题的方法&#xff0c;在C语言中&#xff0c;递归就是函数自己调用自己。 #include <stdio.h> int main() {printf("hehe\n");main();//main函数中⼜调⽤了main…

C++ 调用lua 脚本

需求&#xff1a; 使用Qt/C 调用 lua 脚本 扩展原有功能。 步骤&#xff1a; 1&#xff0c;工程中引入 头文件&#xff0c;库文件。lua二进制下载地址&#xff08;Lua Binaries&#xff09; 2&#xff0c; 调用脚本内函数。 这里调用lua 脚本中的process函数&#xff0c;并…

FFMPEG推流到B站直播

0、参考 ffmpeg安装参考小弟另外的一个博客&#xff1a;FFmpeg和rtsp服务器搭建视频直播流服务-CSDN博客推流参考&#xff1a;用ffmpeg 做24小时推流直播_哔哩哔哩_bilibili 一、获取b站直播码 点击开始直播后&#xff0c;会出现以下的画面 二、ffmpeg进行直播推流 ffmpeg -r…

const

当我们在c语言中碰到这么一种情况&#xff1a;我们现在有一个变量&#xff0c; 这个变量呢&#xff0c;我们指向访问它&#xff0c; 但不会修改它。但是又担心在后续的代码中不小心将它修改&#xff0c; 这种情况该怎么做呢&#xff1f;这种情况下可以使用const. 被const修饰的…

全套电气自动化样例图纸分享,使用SuperWorks自动化版免费设计软件!

今天给大家分享一套完备的电气自动化样例图纸&#xff0c;结构准确、内容清晰&#xff0c;适合初学者入门操作练习。 整套图纸包含图纸目录、原理图、端子列表、连接列表、元件列表、接线图&#xff0c;具有较高的参考价值&#xff0c;请大家点击自行下载文件&#xff01; 1e8…

springcloud-gateway升级版本allowedOrigins要改allowedOriginPatterns

前言 报错: java.lang.IllegalArgumentException: When allowCredentials is true,allowedOrigins cannot contain the special value "*"since that cannot be set on the "Access-Control-Allow-Origin"response header. To allow credentials to a se…

如何让虚拟机拥有愉快网络环境,vmware,ubuntu,centos

博客原文 文章目录 前言拥有愉快网络环境步骤:测试网关连接 Ubuntu修改 http 与 sock 代理地址修改 /etc/resolv.conf配置 apt 使用代理测试连接 Centos设置代理地址修改 NetworkManager最后重启网卡&#xff1a;测试代理 前言 相信计算机专业的同学在学习 linux 时, 一定会被无…

L1-027 出租-java

输入样例&#xff1a; 18013820100输出样例&#xff1a; int[] arr new int[]{8,3,2,1,0}; int[] index new int[]{3,0,4,3,1,0,2,4,3,4,4}; java import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);St…

无线远程多层立体土壤墒情监测仪

TH-GTS03无线远程多层立体土壤墒情监测仪是一款用于监测土壤水分状况的智能设备&#xff0c;可以帮助农民和农业科技人员实时了解土壤的含水量和土壤温度&#xff0c;科学地进行农田管理和合理安排灌溉、施肥等农事活动&#xff0c;提高作物产量和品质。 该仪器采用了先进的传感…

时隔3年 | 微软 | Windows Server 2025 重磅发布

最新功能 以下是微软产品团队正在努力的方向&#xff1a; Windows Server 2025 为所有人提供的热补丁下一代 AD 活动目录和 SMB数据与存储Hyper-V 和人工智能还有更多… Ignite 发布视频 Windows Server 2025 Ignite Video 介绍 Windows Server 2022 正式发布日期是2021年…

Go 中 struct tag 如何用?基于它实现字段级别的访问控制

嗨&#xff0c;大家好&#xff01;本文是系列文章 Go 小技巧第十篇&#xff0c;系列文章查看&#xff1a;Go 语言小技巧。 在 Go 中&#xff0c;结构体主要是用于定义复杂数据类型。而 struct tag 则是附加在 struct 字段后的字符串&#xff0c;提供了一种方式来存储关于字段的…

Oracle12c之Sqlplus命令行窗口基本使用

Oracle12c之Sqlplus命令行窗口基本使用 文章目录 Oracle12c之Sqlplus命令行窗口基本使用1. 连接1. 超级用户2. 普通用户1. 创建普通用2. 连接 2. 修改用户连接数1. 查看默认连接最多用户数1. PL/SQL developer中查看2. Sqlplus中查看 2. 查看目前已经连接的用户数3. 修改用户连…

20240203在WIN10下安装Anaconda

20240203在WIN10下安装Anaconda 2024/2/3 20:45 缘起&#xff1a;最近学习stable-diffusion-webui.git&#xff0c;在Ubuntu20.04.6下配置SD成功。 不搞精简版本&#xff1a;Miniconda了。直接上Anacoda&#xff01; 百度搜索&#xff1a;Anaconda 下载 https://www.anaconda.c…

Office恢复旧UI|Office UI问题|Word UI|小喇叭找不到

Office恢复旧UI&#xff5c;Office UI问题&#xff5c;Word UI&#xff5c;小喇叭找不到 问题描述&#xff1a;Office新版本默认新UI&#xff0c;主界面没有小喇叭可以切换到旧UI. 解决方案&#xff1a; 以下述内容新建.txt&#xff0c;保存并改后缀为.reg&#xff0c;双击打开…

如何更改Outlook阅读邮件时的默认字体?

如果收到的邮件中未指定字体&#xff0c;outlook默认使用宋体显示。 如果觉得不好看&#xff0c;可以进行更改。但不是在outlook中更改&#xff0c;outlook中只是修改编辑器中的字体&#xff0c;和纯文本邮件浏览的字体&#xff0c;不能更改未指定字体的HTML邮件的显示字体。 …

Unity3D实现坦克大战

一、效果图演示 二、逻辑剖析 从界面上&#xff1a; 需要一个Canvas满屏对着用户&#xff0c;该Canvas上展示用户的游戏数据&#xff0c;比如血条。需要一个Canvas放在蓝色坦克上方&#xff0c;也需要实时对着用户&#xff0c;显示敌人的血条信息两个坦克一个平面Plane放草地…