控制图的美感

博客围绕Seaborn控制图的美感展开,介绍了Seaborn默认的画图样式、多种画图样式,还提及暂时设定图形式,以及Seaborn样式的主要参数和绘图上下文参数,虽未展示具体图片,但围绕这些方面进行了阐述。

https://seaborn.pydata.org/tutorial/aesthetics.html

控制图的美感

%matplotlib inline
import numpy as np
np.random.seed(sum(map(ord, "aesthetics")))

import matplotlib as mpl
import matplotlib.pyplot as plt

# 解决坐标轴刻度负号乱码
plt.rcParams['axes.unicode_minus'] = False

import seaborn as sns
# 解决中文乱码问题
sns.set_style('whitegrid',{'font.sans-serif':['simhei','Arial']})
[i for i in map(ord, "aesthetics")]
[97, 101, 115, 116, 104, 101, 116, 105, 99, 115]
# matplotlib 绘图
def sinplot(flip=1):
    x = np.linspace(0, 14, 100)
    for i in range(1, 7):
        plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
# 这就是matplotlib默认设置的样子
sinplot()

在这里插入图片描述
[外链图片转存失败(img-aQLe7Di9-1562742801241)(output_6_0.png)]

Seaborn默认的画图样式

# 要切换到seaborn默认的画图样式,只需调用sns.set()函数即可。
sns.set()
sinplot()

在这里插入图片描述
[外链图片转存失败(img-3Iy4hJfc-1562742801242)(output_8_0.png)]

sns.set(rc={"figure.figsize": (12, 4)})  # 调整图形大小, 长12,高4;
sinplot()

在这里插入图片描述
[外链图片转存失败(img-HiCsBulB-1562742801242)(output_9_0.png)]

Seaborn的画图样式

sns.set_style("darkgrid")
# {darkgrid, whitegrid, dark, white, ticks}
sinplot()

在这里插入图片描述
[外链图片转存失败(img-Bza0qXWv-1562742801243)(output_11_0.png)]

data = np.random.normal(size=(20, 6)) + np.arange(6) / 2
sns.boxplot(data=data)
plt.show()

在这里插入图片描述
[外链图片转存失败(img-3JQqkSPl-1562742801243)(output_12_0.png)]

sns.set_style("dark")
sinplot()

在这里插入图片描述
[外链图片转存失败(img-RJOHlnOS-1562742801243)(output_13_0.png)]

sns.set_style("darkgrid")
sinplot()

在这里插入图片描述
[外链图片转存失败(img-yXRMn0Tp-1562742801244)(output_14_0.png)]

sns.set_style("white")
sinplot()

在这里插入图片描述
[外链图片转存失败(img-Wr14r3BQ-1562742801244)(output_15_0.png)]

sns.set_style("ticks")
sinplot()

在这里插入图片描述
[外链图片转存失败(img-ENdWoE1Z-1562742801244)(output_16_0.png)]

sinplot()

# removing the top and right axes spines for "white" and "ticks" styles
sns.despine()  # 去掉“white”和“ticks”的样式下顶部和右轴的边框线

在这里插入图片描述
[外链图片转存失败(img-1XYHcqaD-1562742801244)(output_17_0.png)]

# sns.despine?
# sns.despine(fig=None, ax=None, top=True, right=True, left=False, bottom=False, offset=None, trim=False)
f, ax = plt.subplots()
sns.violinplot(data=data)
sns.despine(offset=10, trim=True);
# sns.despine(offset=10, trim=False);
# sns.despine(offset=30, trim=True);

# offset,将边线从坐标轴移开一定距离
# trim,如果为True,将边线限制在最小和最大的主tick上

在这里插入图片描述
[外链图片转存失败(img-7VhKcePN-1562742801245)(output_19_0.png)]

sns.set_style("whitegrid")
sns.boxplot(data=data, palette="deep")
sns.despine(left=True)

[外链图片转存失败(img-vAWMCWOD-1562742801245)(output_20_0.png)]

在这里插入图片描述

sns.set_style("whitegrid")
sns.boxplot(data=data, palette="deep")
sns.despine(bottom=True)

[外链图片转存失败(img-MWe2dx40-1562742801245)(output_21_0.png)]
在这里插入图片描述

暂时设定图形式

with sns.axes_style("darkgrid"):
    plt.subplot(211)
    sinplot()  # 以“darkgrid”样式画图
plt.subplot(212)
sinplot(-1)  # 以默认样式画图

[外链图片转存失败(img-tFIkRG8Y-1562742801246)(output_23_0.png)]

在这里插入图片描述

Seaborn 样式的主要参数

sns.axes_style()
{'axes.axisbelow': True,
 'axes.edgecolor': '.8',
 'axes.facecolor': 'white',
 'axes.grid': True,
 'axes.labelcolor': '.15',
 'axes.linewidth': 1.0,
 'figure.facecolor': 'white',
 'font.family': ['sans-serif'],
 'font.sans-serif': ['Arial',
  'DejaVu Sans',
  'Liberation Sans',
  'Bitstream Vera Sans',
  'sans-serif'],
 'grid.color': '.8',
 'grid.linestyle': '-',
 'image.cmap': 'rocket',
 'legend.frameon': False,
 'legend.numpoints': 1,
 'legend.scatterpoints': 1,
 'lines.solid_capstyle': 'round',
 'text.color': '.15',
 'xtick.color': '.15',
 'xtick.direction': 'out',
 'xtick.major.size': 0.0,
 'xtick.minor.size': 0.0,
 'ytick.color': '.15',
 'ytick.direction': 'out',
 'ytick.major.size': 0.0,
 'ytick.minor.size': 0.0}
sns.set_style("darkgrid", {"axes.facecolor": ".9"})
sinplot()

[外链图片转存失败(img-kZ3HxDQZ-1562742801246)(output_26_0.png)]

在这里插入图片描述

sns.set_style("darkgrid", {"axes.facecolor": ".7"})
sinplot()

[外链图片转存失败(img-n75YAOGx-1562742801246)(output_27_0.png)]
在这里插入图片描述

绘图上下文参数

# 通过调用set()重置缺省参数
sns.set()
# sns.set_context?
# "notebook", "paper", "talk", and "poster"
sns.set_context("paper")
sinplot()

[外链图片转存失败(img-XLFSnqKW-1562742801246)(output_31_0.png)]
在这里插入图片描述

sns.set_context("talk")
sinplot()

[外链图片转存失败(img-62c2PcjW-1562742801247)(output_32_0.png)]

在这里插入图片描述

sns.set_context("poster")
sinplot()

[外链图片转存失败(img-AZ87MRqJ-1562742801247)(output_33_0.png)]

在这里插入图片描述

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

[外链图片转存失败(img-u4vUEA7h-1562742801247)(output_34_0.png)]

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值