本教材由知了传课辛苦制作而成,仅供学习使用,请勿用于商业用途!如进行转载请务必注明出处!谢谢!

seaborn样式风格设置

seaborn绘图,比直接使用matplotlib绘图更加的美观。原因就是因为seaborn中已经将一些属性的样式进行了调整。我们可以直接使用,也可以修改他的样式。

一、自带的样式:

seaborn中自带了5种样式。分别是:

  1. white:纯白色的。

    sns.set_style("white") axes = sns.scatterplot(x="total_bill",y="tip",data=tips)

  2. whitegrid:带有网格的白色的。

    sns.set_style("whitegrid") axes = sns.scatterplot(x="total_bill",y="tip",data=tips)

  3. dark:灰色的。

    sns.set_style("dark") axes = sns.scatterplot(x="total_bill",y="tip",data=tips)

  4. darkgrid:带有网格的灰色的(网格线是白色的)。

    sns.set_style("darkgrid") axes = sns.scatterplot(x="total_bill",y="tip",data=tips)

  5. ticks:白色的,并且在轴上带有刻度条的。

    sns.set_style("ticks") axes = sns.scatterplot(x="total_bill",y="tip",data=tips)

二、风格设置函数:

seaborn中,可以通过三个函数来设置样式。分别是sns.set_stylesns.axes_style以及sns.set方法。以下对着三种方法进行讲解。

1. sns.axes_style

sns.axes_style(style=None,rc=None)
这个函数调用的时候如果不传递任何参数,那么将会返回可以设置的所有属性。有时候我们不知道什么属性可以设置,那么可以打印下这个函数的返回值:

sns.axes_style()

输入如下:

{'axes.facecolor': 'white',
 'axes.edgecolor': 'black',
 'axes.grid': False,
 'axes.axisbelow': 'line',
 'axes.labelcolor': 'black',
 'figure.facecolor': (1, 1, 1, 0),
 'grid.color': '#b0b0b0',
 'grid.linestyle': '-',
 'text.color': 'black',
 'xtick.color': 'black',
 'ytick.color': 'black',
 'xtick.direction': 'out',
 'ytick.direction': 'out',
 'lines.solid_capstyle': 'projecting',
 'patch.edgecolor': 'black',
 'image.cmap': 'viridis',
 'font.family': ['sans-serif'],
 'font.sans-serif': ['DejaVu Sans',
  'Bitstream Vera Sans',
  'Computer Modern Sans Serif',
  'Lucida Grande',
  'Verdana',
  'Geneva',
  'Lucid',
  'Arial',
  'Helvetica',
  'Avant Garde',
  'sans-serif'],
 'patch.force_edgecolor': False,
 'xtick.bottom': True,
 'xtick.top': False,
 'ytick.left': True,
 'ytick.right': False,
 'axes.spines.left': True,
 'axes.spines.bottom': True,
 'axes.spines.right': True,
 'axes.spines.top': True}

这个函数也可以用来设置样式,但是只能通过with语句调用。示例代码如下:

with sns.axes_style("dark",{"ytick.left":True}): sns.scatterplot(x="total_bill",y="tip",data=tips)

2. sns.set_style()

sns.set_style(style=None,rc=None)
这个函数跟sns.axes_style一样,也是用来设置绘图风格。但是这个函数的风格设置,不是临时的,而是一旦设置了,那么下面的所有绘图都是用这个风格。示例代码如下:

sns.set_style("darkgrid") sns.scatterplot(x="total_bill",y="tip",data=tips)

3. sns.set

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

set方法也是用来设置样式的,他的功能更加强大。除了style以外,还可以设置调色板,字体,字体大小,颜色等,也可以设置其他的matplotlib.rcParams可以接收的参数。示例代码如下:

sns.set(rc={"lines.linewidth":4}) fmri = sns.load_dataset("fmri") sns.lineplot(x="timepoint",y="signal",data=fmri)

效果图如下:
风格设置6.png

1520人已阅读,今天你学习了吗?

添加新回复
目录