在python可视化中,Matplotlib自动化程度非常高,但是,掌握如何设置系统以便获得一个吸引人的图是相当困难的事。为了控制matplotlib图表的外观,Seaborn模块自带许多定制的主题和高级的接口。

Seaborn中有五种可供选择的主题:

1.darkgrid(灰色网格)

2.whitegrid(白色网格)

3.dark(黑色)

4.white(白色)

5.ticks(十字叉)

下面,分别介绍一下五种主题:

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

%matplotlib inline

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)

sinplot()

默认情况下matplotlib的画的图是这样的:

转换成Seaborn模式画图,只需要引入seaborn模块。

sns.set()

sinplot()

seaborn默认浅灰色背景与白色网络线。

sns.set_style("whitegrid")

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

sns.boxplot(data=data)

sns.set_style("dark")

sinplot()

sns.set_style("white")

sinplot()

sns.set_style("ticks")

sinplot()

white和ticks两种主题都会包含没有必要的上边框和右边框。我们可以用despine()函数去除。

sinplot()

# 去掉多余的线

sns.despine()

除了可以用set_style()来设置风格,还可以用axes_style()。

with sns.axes_style("darkgrid"):

plt.subplot(211)

sinplot()

plt.subplot(212)

sinplot()

sns.despine()

接下来,介绍一下seaborn库中的调色板。

颜色在可视化中非常重要,用来代表各种特征,并且提高整个图的观赏性。在seaborn中颜色主要分为连续渐变性和离散分类性。

先说说分类色板,主要用color_palette()函数。

· color_palette()能传入任何Matplotlib所支持的颜色

· color_palette()不写参数则默认颜色

· set_palette()设置所有图的颜色

6个默认的颜色循环主题: deep, muted, pastel, bright, dark, colorblind

current_palette = sns.color_palette()

sns.palplot(current_palette)

默认的颜色只有六种,如果,我们需要更多的颜色,使用hls色彩空间。

sns.palplot(sns.color_palette("hls", 10))

data = np.random.normal(size=(20, 8)) + np.arange(8) / 2

sns.boxplot(data=data, palette=sns.color_palette("hls", 8))

我们还可以通过hls_palette()函数来改变颜色的亮度和饱和度:

· l-亮度 lightness

· s-饱和度 saturation

sns.palplot(sns.hls_palette(8, l=.5, s=.7))

连续渐变颜色:

色彩随数据变换,比如数据越来越重要则颜色越来越深。(只用在颜色加s即可)

sns.palplot(sns.color_palette("Blues"))

如果想要翻转渐变,可以在面板名称中添加一个_r后缀。

sns.palplot(sns.color_palette("BuGn_r"))

light_palette() 和 dark_palette()调用定制连续调色板。

x, y = np.random.multivariate_normal([0,0], [[1, -.5], [-.5, 1]], size=3000).T

pal = sns.dark_palette("green", as_cmap=True)

sns.kdeplot(x, y, cmap=pal)

参考:

http://seaborn.pydata.org/tutorial/color_palettes.html#palette-tutorial

Copyright © 2088 世界杯直播cctv5_世界杯阿根 - sunjianping.com All Rights Reserved.
友情链接
top