seaborn可视化库分析库基础01 - 布局、参数、色板等

2023-11-13

Seaborn库简介

Seaborn库官网

正如你所知道的,Seaborn是比Matplotlib更高级的免费库,特别地以数据可视化为目标,但他要比这一切更进一步:他解决了用Matplotlib的2个最大问题,正如Michael Waskom所说的:Matplotlib试着让简单的事情更加简单,困难的事情变得可能,那么Seaborn就是让困难的东西更加简单。用Matplotlib最大的困难是其默认的各种参数,而Seaborn则完全避免了这一问题。

Seaborn库api测试

布局设置

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib as mpl
import matplotlib.pylab 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*0.5)*(7-i)*flip)

# 使用seaborn默认的绘图风格
sns.set()
# seaborn的五种绘图风格 dark、darkgrid、white、whitegrid、ticks
#sns.set_style("whitegrid")
#sinplot()

# wiht中 和 with外 使用不同的绘图风格
sns.set(rc={"figure.figsize":(8,4)})
with sns.axes_style("darkgrid"):
    plt.subplot(211)
    sinplot()
plt.subplot(212)
sinplot(-1) 

这里写图片描述

设置画板上下文参数

# sns上下文绘图参数的设置 paper、talk、poster、notebook
sns.set_context("talk", font_scale=1, rc={"lines.linewidth":2.5})
plt.figure(figsize=(8,4))
sinplot()

这里写图片描述

调色板

# 调色板
# 颜色很重要
# color_palette()能传入任何Matplotlib 所支持的颜色
# color_palette()不写参数则默认颜色
# set_palette()设置所有图的颜色

#分类色板(有6个默认的颜色循环主题:deep、muted、pastel、bright、dark、colorblind)
sns.palplot(sns.color_palette())
#连续色板
sns.palplot(sns.color_palette("Blues"))
sns.palplot(sns.color_palette("Blues_r"))
sns.palplot(sns.light_palette("green"))
sns.palplot(sns.dark_palette("green"))
#色调线性变换,start和rot指定颜色区间
sns.palplot(sns.color_palette("cubehelix", 8))
sns.palplot(sns.cubehelix_palette(8, start=0.5, rot=-0.75))

#使用连续色板绘图
plt.figure(figsize=(6,6))
x,y = np.random.multivariate_normal([0,0], [[1,-0.5], [-0.5,1]], size=300).T
pal = sns.dark_palette("green", as_cmap=True)
sns.kdeplot(x, y, cmap=pal)


#圆形色板
#当你有六个以上的分类需要区分时,最简单的方法是在一个圆形的颜色空间中画出均匀间隔的颜色(这样的颜色会保持亮度和饱和度不变)。
#这是大多数使用比大年默认颜色循环中设置的颜色更多时的默认方案,最常用的方法时使用hls的颜色空间,这是RGB值的一个简单转换。
sns.palplot(sns.color_palette("hls", 12))
#l表示亮度,s表示饱和度
sns.palplot(sns.hls_palette(12, l=0.3, s=0.8))
#生成成对的颜色
sns.palplot(sns.color_palette("Paired", 12) )


#使用圆形色板绘图
plt.figure(figsize=(6,6))
data = np.random.normal(size=(20,8)) + np.arange(8)/2
sns.boxplot(data=data, palette=sns.color_palette("hls", 12))

这里写图片描述
这里写图片描述
这里写图片描述

使用xkcd颜色画图

#使用xkcd颜色画图
#xkcd包含了一套针对RGB颜色的命名,产生了954个可以随时通过xkcd_rgb字典调用的颜色
plt.figure(figsize=(5,5))
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)

这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

seaborn可视化库分析库基础01 - 布局、参数、色板等 的相关文章

  • 更改seaborn.clustermap中ytick标签的颜色

    是否可以更改seaborn clustermap中ytick标签的颜色 所以对于Seaborn 鸢尾花示例 http seaborn pydata org generated seaborn clustermap html 可以根据物种设置
  • Python 的“platform.mac_ver()”报告不正确的 MacOS 版本

    我正在使用Pythonplatform module https docs python org 3 library platform html要识别 MacOS 版本 如下所示 import platform print platform
  • 将预训练的手套词嵌入与 scikit-learn 结合使用

    我已经使用 keras 来使用预先训练的词嵌入 但我不太确定如何在 scikit learn 模型上执行此操作 我也需要在 sklearn 中执行此操作 因为我正在使用vecstack集成 keras 序列模型和 sklearn 模型 这就
  • Python3 类型错误:replace() 参数 1 必须是 str,而不是 int

    我已经尝试了几天让这段代码在 MacOS 上运行 但没有成功 你能看一下我错过了什么吗 运行 python 3 6 我已经上传了整个代码 多谢 usr bin env python3 from future import print fun
  • 二进制数据的Python字符串表示

    我试图理解 Python 显示表示二进制数据的字符串的方式 这是一个使用的示例乌兰多姆操作系统 http docs python org library os html os urandom In 1 random bytes os ura
  • 如何创建毫秒粒度的 Python 时间戳?

    我需要一个自纪元以来的毫秒 ms 时间戳 这应该不难 我确信我只是缺少一些方法datetime或类似的东西 实际上微秒 s 粒度也很好 我只需要亚 1 10 秒的计时 例子 我有一个每 750 毫秒发生一次的事件 假设它检查灯是否打开或关闭
  • 在 python 中查找价格动量的有效方法:对列的最后 n 个条目求平均值

    我正在定义价格动量是给定股票过去动量的平均值n days 反过来 动量是一种分类 如果当天的收盘价高于前一天 则每天标记为 1 如果当天的收盘价低于前一天 则标记为 1 我的库存变化百分比如下 df close in percent np
  • 从内存中发送图像

    我正在尝试为 Discord 机器人实现一个系统 该系统可以动态修改图像并将其发送给机器人用户 为此 我决定使用 Pillow PIL 库 因为它对于我的目的来说似乎简单明了 这是我的工作代码的示例 它加载一个示例图像 作为测试修改 在其上
  • 参数太少错误,同时未使用参数占位符

    我尝试使用 PYODBC 在 Access 数据库中执行 SQL 查询 但出现以下错误 pyodbc Error 07002 07002 Microsoft ODBC Microsoft Access 驱动程序 参数太少 预期为 1 301
  • Python 排列(包括子字符串)

    我遇到过这个帖子 如何在Python中生成列表的所有排列 https stackoverflow com questions 104420 how to generate all permutations of a list in pyth
  • 如何在 Django 1.4 中自定义管理过滤器

    我是 Python 和 Django 开发的新手 我从社区提供的易于阅读的示例中学到了很多东西 但最近我想为 Django 附带的管理控制台实现一个自定义的管理过滤器 我进行了很多搜索 只发现了一些过时的方法来完成它 例如 Django 1
  • 在Python中将用户昵称转换为正式名字

    我正在尝试根据 Python 中的用户名字和姓氏映射来自不同系统的用户 一个问题是 名字在很多情况下都是 昵称 例如 对于用户来说 他的名字在一个系统中是 Dave 而在另一个系统中是 David python 中有没有简单的方法可以将这些
  • 创建 df 以生成给定格式的 json

    我正在尝试生成一个 df 来生成下面的 json Json数据 name flare children name K1 children name Exact size 4 name synonyms size 14 name K2 chi
  • 我无法设置顶级标题

    我想为 TopLevel 设置标题 但 TopLevel 显示 Root 的标题 我认为我的下一个脚本与 TkInter 文档中的示例相对应 但给了我不好的结果 你能解释一下 为什么我的设置master title 顶部 in 应用程序顶部
  • Python 上每个系数具有特定约束的多元线性回归

    我目前正在数据集上运行多元线性回归 起初 我没有意识到我需要限制自己的体重 事实上 我需要有特定的正权重和负权重 更准确地说 我正在做一个评分系统 这就是为什么我的一些变量应该对音符产生积极或消极的影响 然而 当运行我的模型时 结果不符合我
  • 如何更改Python使用的SQLite版本?

    我在 Debian 9 12 上安装了 Python 3 8 和 SQLite 3 16 2 并且需要升级到较新版本的 SQLite 我已经下载并编译了 SQLite 网站上提供的合并 并将其放入 usr bin 所以当我这样做时 sqli
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 在Python中通过sys.stdout写入unicode字符串

    暂时假设一个人无法使用print 从而享受自动编码检测的好处 所以这给我们留下了sys stdout 然而 sys stdout太蠢了不做任何合理的编码 http bugs python org issue4947 现在人们阅读 Pytho
  • Pandas:合并多个数据框并控制列名称?

    我想将九个 Pandas 数据帧合并到一个数据帧中 对两列进行联接 控制列名称 这可能吗 我有九个数据集 它们都有以下列 org name items spend 我想将它们加入到具有以下列的单个数据框中 org name items df
  • 将非方邻接矩阵导入 Networkx python

    我在下面有一些 pandas 数据框形式的数据 其中列代表离散技能 行代表离散工作 仅当工作需要该技能时才存在 1 否则为 0 skill 1 skill 2 job 1 1 0 job 2 0 0 job 3 1 1 我想使用 netwo

随机推荐

  • 环形链表II

    原题链接 本题要求找到环的入口 且 O n O n O n 的时间复杂度 O 1
  • 猴博士数电模电,百度网盘亲测有效。

    模电 https pan baidu com s 1pLzPtvnNsslxs 3RMOpsGQ n n 提取码 xx8j n n n n 数电 https pan baidu com s 1IZnpeLNiX5 Y4ePtMfyXdA n
  • vite和webpack的区别及优势

    webpack会先打包 然后启动开发服务器 请求服务器时直接给予打包结果 vite直接启动开发服务器 请求哪个模块再对该模块进行实时编译 打包原理 vite优点 webpack服务器启动速度比vite慢 由于vite启动的时候不需要打包 也
  • 双向链表删除节点时间复杂度_Leetcode简洁笔记 第19题:删除链表的倒数第N个节点...

    给定一个链表 删除链表的倒数第 N 个节点 并且返回链表的头结点 本文答案参考自leetcode官方题解 方法1 先遍历再删除 时间复杂度 O L 空间复杂度 O 1 删除链表的倒数第 N 个节点 即 删除链表的 第 L n 1 个节点 因
  • SQL注入-堆叠注入

    SQL注入 堆叠注入 原理 数据库支持堆叠查询 所谓堆叠查询就是执行多条语句 语句以 隔开 并且代码使用了支持堆叠查询的函数 列如PHP的mysqli multi query 堆叠注入就是在第二条语句中构造payload 注 页面只返回第一
  • Linux下docker的常用命令

    我们来了解一下常用的docker命令 其中docker container命令中的参数 有同于docker命令的参数的 其用法相同 效果一样 docker container命令的参数和docker命令的参数不同的有prune ls 其中d
  • 若依框架项目部署后路由报错

    若依框架部署到服务器后 动态路由报错 无法访问 原因是有些版本不支持动态import导入 解决 找到 store modules permission js 将 import引入改为require export const loadView
  • BigDecimal的使用

    1 初始化 推荐使用字符串初始化 直接使用数字会导致精度问题 直接使用数字 BigDecimal num new BigDecimal 0 05 使用字符串 BigDecimal num1 new BigDecimal 0 05 BigDe
  • 入侵杂草算法matlab,一种基于入侵杂草算法改进的差分进化算法

    1 引言 进化算法是模仿生物进化过程设计的现代优化方法 作为一种有效的随机优化方法 被广泛应用于求解复杂优化问题 DE算法 1 使用浮点矢量进行个体编码 通过简单的变异 交叉及竞争算子实现在连续空间中的随机搜索 DE算法原理简单 易于理解和
  • 网页常用JS/VBS代码

    nc ntextmenu window event returnValue false 将彻底屏蔽鼠标右键 table border border td no td table 可用于Table 2 取消选取 防止复制 3 npaste r
  • WEB靶场搭建教程(PHPstudy+SQLllib+DVWA+upload-labs)

    WEB靶场搭建教程 PHPstudy SQLllib DVWA upload labs 0x00 简介 0x01 PHPstudy 0x02 搭建SQLi labs靶场 0x03 搭建DVWA靶场 0x04 搭建upload labs靶场
  • 深入浅出Redis-redis底层数据结构

    相信使用过Redis 的各位同学都很清楚 Redis 是一个基于键值对 key value 的分布式存储系统 与Memcached类似 却优于Memcached的一个高性能的key value数据库 在 Redis设计与实现 这样描述 Re
  • ideagit回退回滚到以前的指定版本

    idea git gitee gitlab 回退回滚到以前的指定版本分为三步 1 本地库硬 hard 回滚 2 远程库混合 mixed 回滚 3 最好等待一分钟让代码回滚后可以被git识别代码状态 提交到远程库 首先是准备工作 我下面先提交
  • Spring中对于@RequestBody的参数解析问题

    文章目录 问题起源 问题延伸 代码实现 前置准备阶段 选择解决方案 如何自定义Resolver 处理类型 如何自定义HttpMessageConverter 思考总结 问题起源 今天后端与前端同事在讨论对于只有一个参数的接口 能否不将参数当
  • Linux文件系统简单认识学习笔记

    Linux文件系统简单认识 ReadMe 1 什么是文件系统 2 文件系统 文件管理系统的方法 的种类有哪些 3 什么是分区 4 什么是文件系统目录结构 5 什么虚拟文件系统Virtual File System 6 虚拟文件系统有什么作用
  • C语言头文件和源文件差异,#include两种引用方式差异

    一些初学c语言的人 不知道头文件 h文件 原来还可以自己写的 只知道调用系统库函数时 要使用 include语句将某些头文件包含进去 其实 头文件跟 c文件一样 是可以自己写的 头文件是一种文本文件 使用文本编辑器将代码编写好之后 以扩展名
  • Java将一个List中的值赋值给另一个List

    刷leetcode中的一道dfs题时 添加结果集时如果不新创建list所有添加的list都是同一个 并且回溯得到时候会删掉所有元素 Java中 的作用有两个 1 赋值 2 指向地址 当对基本数据类型进行赋值时 的作用就是单纯的赋值 例如 i
  • 使用zabbix监控avamar【一】

    1 介绍 avamar是dell的一款数据备份产品 用于公司私有云平台虚拟机备份 虽然不是与业务直接相关 关注度不是特别高 也正因为如此偶尔出现备份失败问题不能及时发现 所以要加入公司的智慧运维系统 以zabbix为底层开发 2 选择模式
  • 变分推断的数学推导

    这里只给出变分推断的数学推导 变分颇为高深 这里只是简单介绍一下基本概念 想了解更多详见 https blog csdn net weixin 40255337 article details 83088786 变分推断的目的是构造 q w
  • seaborn可视化库分析库基础01 - 布局、参数、色板等

    Seaborn库简介 Seaborn库官网 正如你所知道的 Seaborn是比Matplotlib更高级的免费库 特别地以数据可视化为目标 但他要比这一切更进一步 他解决了用Matplotlib的2个最大问题 正如Michael Wasko