008.python科学计算库seaborn(上)

版权声明:本文为博主原创文章,允许转载,请标明出处。 https://blog.csdn.net/qwdafedv/article/details/82852133


Style

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt


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)
    plt.show()

sinplot()

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt


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)
    plt.show()

sns.set()
sinplot()

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt


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)
    plt.show()

# Set the aesthetic style of the plots
# 5种主题风格 ###
#   darkgrid
#   whitegrid
#   dark
#   white
#   ticks
sns.set_style("whitegrid")
sinplot()

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt


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

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt


data = np.random.normal(size=(20, 6)) + np.arange(6) / 2
sns.boxplot(data=data)
sns.set_style("white")
# 从绘图中删除顶部和右侧的刺
sns.despine()
plt.show()

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt


data = np.random.normal(size=(20, 6)) + np.arange(6) / 2
sns.boxplot(data=data)
sns.set_style("white")
# 绘制一个框图来显示与类别相关的分布
sns.violinplot(data)
# offset 原理坐標軸的點距離 
sns.despine(offset=20)
plt.show()

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt


data = np.random.normal(size=(20, 6)) + np.arange(6) / 2
sns.boxplot(data=data,palette="deep")
sns.set_style("white")
# top, right, left, bottom : 布尔,可选
# 如果是True,把 spine(脊柱) 拿掉
sns.despine(left=True)
plt.show()

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

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)

with sns.axes_style("darkgrid"):
    # 向当前图形添加一个子图
    plt.subplot(211)
    sinplot()
plt.subplot(212)
sinplot(-1)

plt.show()

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

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)

# 设置绘图上下文参数
# 这会影响到标签、线条和其他情节元素的大小,但不会影响整体风格。
# 基本上下文是“notebook”,
# 其他上下文是“paper”、“talk”和“poster”,
# 它们分别是按0.8、1.3和1.6缩放的notebook参数的版本
sns.set_context("poster")
plt.figure(figsize=(8, 6))
sinplot()
plt.show()

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

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)

# 设置绘图上下文参数
# 这会影响到标签、线条和其他情节元素的大小,但不会影响整体风格。
# 基本上下文是“notebook”,
# 其他上下文是“paper”、“talk”和“poster”,
# 它们分别是按0.8、1.3和1.6缩放的notebook参数的版本
sns.set_context("paper")
plt.figure(figsize=(8, 6))
sinplot()
plt.show()

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt


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)


# 设置绘图上下文参数
# 这会影响到标签、线条和其他情节元素的大小,但不会影响整体风格。
# 基本上下文是“notebook”,
# 其他上下文是“paper”、“talk”和“poster”,
# 它们分别是按0.8、1.3和1.6缩放的notebook参数的版本
# font_scale 坐標軸上刻度數字的大小
# rc:"lines.linewidth" 线条的粗细大小
sns.set_context("paper", font_scale=2.5, rc={"lines.linewidth": 6.5})
plt.figure(figsize=(8, 6))
sinplot()
plt.show()

Color

import matplotlib.pyplot as plt
import seaborn as sns

# 返回定义调色板的颜色列表
# 6个默认的颜色循环主题: 
# deep, muted, pastel, bright, dark, colorblind
current_palette = sns.color_palette()
sns.palplot(current_palette)
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# 圆形画板
# 当你有六个以上的分类要区分时,
# 最简单的方法就是在一个圆形的颜色空间中画出均匀间隔的颜色(这样的色调会保持亮度和饱和度不变)。
# 这是大多数的当他们需要使用比当前默认颜色循环中设置的颜色更多时的默认方案。
# 最常用的方法是使用hls的颜色空间,这是RGB值的一个简单转换。
sns.palplot(sns.color_palette("hls",9))
plt.show()

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

data = np.random.normal(size=(20, 8)) + np.arange(8) / 2
sns.boxplot(data=data, palette=sns.color_palette("hls", 8))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# 函数来控制颜色的亮度和饱和
# l-亮度 lightness  s-饱和 saturation
sns.palplot(sns.hls_palette(8, l=.7, s=.9))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# color_palette 返回定义调色板的颜色列表
# palette=  None、字符串或序列、调色板的可选名称或返回当前调色板的无。
#           如果是序列,则使用输入颜色,但可能是循环的和不饱和的。
sns.palplot(sns.color_palette(palette="Paired", n_colors=11))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# 使用xkcd颜色来命名颜色
# xkcd包含了一套众包努力的针对随机RGB色的命名。
# 产生了954个可以随时通过xdcd_rgb字典中调用的命名颜色。
plt.plot([0, 1], [0, 1], sns.xkcd_rgb["pale red"], lw=3)
plt.plot([0, 1], [0, 2], sns.xkcd_rgb["medium green"], lw=3)
plt.plot([0, 1], [0, 3], sns.xkcd_rgb["denim blue"], lw=3)
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# 使用xkcd颜色来命名颜色
# xkcd包含了一套众包努力的针对随机RGB色的命名。
# 产生了954个可以随时通过xdcd_rgb字典中调用的命名颜色。
colors = ["windows blue", "amber", "greyish", "faded green", "dusty purple"]
sns.palplot(sns.xkcd_palette(colors))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# 色彩随数据变换,比如数据越来越重要则颜色越来越深
sns.palplot(sns.color_palette("Blues"))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# 如果想要翻转渐变,可以在面板名称中添加一个_r后缀
sns.palplot(sns.color_palette("Blues_r"))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# cubehelix_palette()调色板
# 色调线性变换
sns.palplot(sns.color_palette("cubehelix", 8))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# cubehelix_palette()调色板
# 色调线性变换
sns.palplot(sns.cubehelix_palette(8, start=.5, rot=-.75))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# cubehelix_palette()调色板
# 色调线性变换
sns.palplot(sns.cubehelix_palette(8, start=.75, rot=-.75))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# light_palette() 和dark_palette()调用定制连续调色板
sns.palplot(sns.light_palette("green"))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# light_palette() 和dark_palette()调用定制连续调色板
sns.palplot(sns.dark_palette("purple"))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# light_palette() 和dark_palette()调用定制连续调色板
sns.palplot(sns.light_palette("green", reverse=True))
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

# light_palette() 和dark_palette()调用定制连续调色板
x, y = np.random.multivariate_normal([0, 0], [[1, -.5], [-.5, 1]], size=300).T     
pal = sns.dark_palette("green", as_cmap=True)  
# kdeplot 拟合并绘制一个单变量或双变量核密度估计
sns.kdeplot(x, y, cmap=pal)
plt.show()

import matplotlib.pyplot as plt
import seaborn as sns

# light_palette() 和dark_palette()调用定制连续调色板
sns.palplot(sns.light_palette((210, 90, 60), input="husl"))
plt.show()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pydata

html5新特性

1.新的文档类型 2.脚本和链接无需type 3.语义Header和Footer 4.Hgroup 5.标记元素 6.图形元素 7.重新定义 8....

9030
来自专栏PPV课数据科学社区

【学习】R语言基础画图

1.plot函数  plot(x,y,xlim=c(0,100),ylim=c(0.4,1), type="o",lwd=2,col=2,pch=24,...

36150
来自专栏郭艺帆的专栏

庖丁解牛:GIF

GIF 是一种使用 LZW 压缩,支持多张图像的容器。支持256色,透明通道为1bit。作为互联网表情包的载体,GIF 这项80年代的技术依然生生不息。

28900
来自专栏菩提树下的杨过

Matplotlib新手上路(上)

matplotlib是python里用于绘图的专用包,功能十分强大。下面介绍一些最基本的用法: 一、最基本的划线 先来一个简单的示例,代码如下,已经加了注释: ...

312100
来自专栏抠抠空间

python模块之PIL模块(生成随机验证码图片)

PIL简介 什么是PIL PIL:是Python Image Library的缩写,图像处理的模块。主要的类包括Image,ImageFont,ImageDra...

64790
来自专栏Python数据科学

Seaborn从零开始学习教程(一)

最近在做几个项目的数据分析,每次用到seaborn进行可视化绘图的时候总是忘记具体操作。虽然seaborn的官方网站已经详细的介绍了使用方法,但是毕竟是英文,而...

16510
来自专栏深度学习之tensorflow实战篇

ggolot2 画ROC曲线

为了进一步了解ggplot2的使用,利用ROC曲线进行说明学习。 ####获取画图数据(data.frame格式)##### library(ggplot2) ...

37760
来自专栏落影的专栏

OpenGL ES学习阶段性总结

前言 最近观看下面这本书有感,结合之前的学习,对OpenGL的知识进行回顾。 ? 概念 帧缓存:接收渲染结果的缓冲区,为GPU指定存储渲染结果的区域。 ...

44380
来自专栏FreeBuf

中文点选验证码之自动识别

某次测试中遇到了汉字点选的验证码,看着很简单,尝试了一下发现有两种简单的识别方法,终于有空给重新整理一下,分享出来。

1.3K40
来自专栏hotqin888的专栏

golang随机抽奖代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

37820

扫码关注云+社区

领取腾讯云代金券