python seaborn的常用方法及小例子,免费开源!

2023-10-31

楼主是为了方便自己以后使用,希望可以给大家带来帮助,喜欢的点赞支持!谢谢!!!

seaborn简介

seaborn同matplotlib一样,也是Python进行数据可视化分析的重要第三方包。但seaborn是在 matplotlib的基础上进行了更高级的API封装,使得作图更加容易,图形更加漂亮。
参数 特别多的几十种参数

虽然seaborn可以满足大部分情况下的数据分析需求,但是针对一些特殊情况,还是需要用到matplotlib的。换句话说,matplotlib更加灵活,可定制化,而seaborn像是更高级的封装,使用方便快捷。
seaborn学习内容:

seaborn学习内容主要包含以下几个部分:
风格管理
绘图风格设置 颜色风格设置
绘图方法

1. 数据集的分布可视化
2. 分类数据可视化
3. 线性关系可视化

结构网络

数据识别网络绘图

import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
# 通过代码绘制图的时候直接把图显示出来 用在juyper notebook 中作用是当你调用matplotlib.pyplot的绘图函数plot()进行绘图的时候
# 或者生成一个figure画布的时候,可以直接在你的pychon console里面生成图像

%matplotlib inline


def sinplot(flip=1):
#     在1-14之间找到100个点
    x=np.linspace(0,14,100)
    print(x.shape)
    for i in range(1,7):
#         绘制6条线  (7-i)*flip振幅  正弦×几  就是-几到几之间
        plt.plot(x,np.sin(x+i*0.5)*(7-i)*flip)
    print(type(i))#int
    
sinplot()
# plt.show()

图一
在这里插入图片描述

# 使用seaborn默认的风格来绘制转换为seaborn默认绘图,可以简单的用set()方法。
sns.set()
sinplot()

图二
在这里插入图片描述
Seaborn 将 matplotlib 的参数划分为两个独立的组合。第一组是设置绘图的外观风格的,第二组主要将绘图的各种元素按比例缩放的,以至可以嵌入到不同的背景环境中。
操控这些参数的接口主要有两对方法:
控制风格:axes_style(), set_style() 缩放绘图:plotting_context(), set_context() 每对方法中的第一个方法(axes_style(), plotting_context())会返回一组字典参数,而第二个方法(set_style(), set_context())会设置matplotlib的默认参数。

Seaborn的五种绘图风格
有五种seaborn的风格,它们分别是:darkgrid, whitegrid, dark, white, ticks。它们各自适合不同的应用和个人喜好。默认的主题是darkgrid。

sns.set_style('whitegrid')
sinplot()

图三
在这里插入图片描述

sns.set_style('dark')
sinplot()

在这里插入图片描述

sns.set_style('white')
sinplot()

在这里插入图片描述

sns.set_style('ticks')
sinplot()

在这里插入图片描述

移除轴脊柱

white和ticks两种风格都可以移除顶部和右侧的不必要的轴脊柱。使用matplotlib是做不到这一点的,但是你可以使用seaborn的despine()方法来移除它们。

sns.set_style('whitegrid')
sinplot()
# 用despine()移除上边和右边的轴去掉
sns.despine()

在这里插入图片描述
一些绘图也可以针对数据将轴脊柱进行偏置,当然也是通过调用despine()方法来完成。而当刻度没有完全覆盖整个轴的范围时,trim参数可以用来限制已有脊柱的范围。

sinplot()
# offset是绘图偏移周的距离
sns.despine(offset=100)

在这里插入图片描述

临时设置绘图风格

虽然来回切换风格很容易,但是你也可以在一个with语句中使用axes_style()方法来临时的设置绘图参数。这也允许你用不同风格的轴来绘图:

# 单独为子图指定样式风格
with sns.axes_style("white"):
#     当前风格的图形
    plt.subplot(211)#两行一列的子图 相当于2,2,1
    sinplot()
sns.set_style("whitegrid")
plt.subplot(212)
sinplot(-1)

在这里插入图片描述

sns.set()

覆盖seaborn风格元素

如果你想定制化seaborn风格,你可以将一个字典参数传递给axes_style()和set_style()的参数rc。而且你只能通过这个方法来覆盖风格定义中的部分参数。
如果你想要看看这些参数都是些什么,可以调用这个方法,且无参数,这将会返回下面的设置:

sns.axes_style()

'''
{'axes.axisbelow': True,
 'axes.edgecolor': 'white',
 'axes.facecolor': '#EAEAF2',
 'axes.grid': True,
 'axes.labelcolor': '.15',
 'axes.linewidth': 0.0,
 'figure.facecolor': 'white',
 'font.family': ['sans-serif'],
 'font.sans-serif': ['Arial',
  'DejaVu Sans',
  'Liberation Sans',
  'Bitstream Vera Sans',
  'sans-serif'],
 'grid.color': 'white',
 '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}
'''
#whitegrid风格axes.axes.edgecolor表格颜色
sns.set_style("whitegrid",{
   'axes.edgecolor':"0.9"})
# print(help(sns))
sinplot()

在这里插入图片描述

绘图元素比例 我们可以通过一套参数控制绘图元素的比例。 首先,我们通过set()方法重置默认的参数:

sns.set()
plt.figure(figsize=(10,6))#子图的操作 宽10英尺 高6英尺
sinplot()

在这里插入图片描述

有四个预置的环境,按大小从小到大排列分别为:paper, notebook, talk, poster

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

python seaborn的常用方法及小例子,免费开源! 的相关文章

  • Python获取正确时区的当前时间[重复]

    这个问题在这里已经有答案了 现在我用 import datetime print datetime datetime now strftime X 将当前时间显示为字符串 问题是 我的计算机正在运行Europe Berlin时区 这里不考虑
  • Windows 中的 Python 多处理池奇怪行为

    Python 多处理池在 Linux 和 Windows 之间有不同的行为 当按工作人员数量运行方法映射时 在 Linux 中 它会在您作为参数提供的特定函数的范围内运行该进程 但在 Windows 中 每个工作进程都在父进程的范围内运行
  • 从框架中获取可调用对象

    给定框架对象 由sys getframe http docs python org library sys html sys getframe 例如 我可以获得底层的可调用对象吗 代码解释 def foo frame sys getfram
  • 嵌套函数中的变量作用域

    有人可以解释为什么以下程序失败 def g f for in range 10 f def main x 10 def f print x x x 1 g f if name main main 带有消息 Traceback most re
  • 在 ubuntu 中卸载 python 模块

    我必须删除一个名为 django 的 python 模块 一种流行的模块 因为我安装了错误的版本 1 3 py 2 6 中的 beta 如何卸载这个模块 请解释一下 因为我只在 Windows 中使用过 python 而从未在 Ubuntu
  • 将 numpy 数组及其大小写入二进制文件

    我需要将 2D numpy 数组写入文件 包括其尺寸 以便我可以从 C 程序中读取它并创建相应的数组 我编写了一些简单的代码来保存数组 并且可以从 C 读取它 但是如果我尝试先写入数组的大小 它总是会给我一个错误 这是我的简单 python
  • 如何用pygame画一条虚线?

    我需要在坐标系上绘制正弦波和余弦波 就像在this https i stack imgur com DGI8g png图片 除了没能代表以外 我所有的工作都做得很好虚线和曲线与 pygame 一致 我有与我需要的类似的东西 但我怎样才能让它
  • 在Python中,如何通过去掉括号和大括号来打印Json

    我想以一种很好的方式打印 Json 我想去掉方括号 引号和大括号 只使用缩进和行尾来显示 json 的结构 例如 如果我有一个像这样的 Json A A1 1 A2 2 B B1 B11 B111 1 B112 2 B12 B121 1
  • 熊猫系列到二维数组

    所以 我使用了来自的答案将二维数组放入 Pandas 系列中 https stackoverflow com questions 38840319 put a 2d array into a pandas series将 2D numpy
  • 如何使用 Python 在表单中选择选项?

    我想知道如何以格式如下的形式选择选项 td align left td
  • 如何停止 PythonShell

    如何终止 停止 Node js 中 PythonShell 执行的 Python 脚本的执行 我在交互模式下运行 输出通过 socket io 发送到给定的房间 如果没有更多的客户端连接到这个房间 我想停止 python 脚本的执行 这是我
  • 如何在 tkinter 后台运行函数[重复]

    这个问题在这里已经有答案了 我是 GUI 编程新手 我想用 tkinter 编写一个 Python 程序 我想要它做的就是在后台运行一个可以通过 GUI 影响的简单函数 该函数从 0 计数到无穷大 直到按下按钮为止 至少这是我想要它做的 但
  • 如何在使用 Flask for Python 3 的同时使用 Bootstrap 4?

    我检查过 发现默认安装时 Flask Bootstrap 原生使用 Bootstrap 3 3 7 但实际上我想通过使用 Flask Bootstrap 包在我的项目中使用 Bootstrap 4 任何有关如何更新它或类似内容的帮助将不胜感
  • Python:如何“杀死”类实例/对象?

    我希望 Roach 类在达到一定量的 饥饿 时 死亡 但我不知道如何删除该实例 我的术语可能有误 但我的意思是 窗户上有大量 蟑螂 我希望特定的蟑螂完全消失 我会向您展示代码 但它很长 我将蟑螂类添加到策划者类蟑螂种群列表中 一般来说 每个
  • 从 SUDS 中的 SOAP 响应中提取 Cookie

    我必须使用具有多种服务的 API 所有这些都需要来自下面的身份验证的 JSESSION cookie 然而 当我调用下一个服务时 它不会保留 cookie 因此会拒绝它们 from suds client import Client url
  • 从函数在 python 3 中创建全局变量

    我想知道为什么在函数结束后我无法访问变量 variable for raw data 代码是这样的 def htmlfrom Website URL import urllib request response urllib request
  • 将整数转换为特定格式的十六进制字符串

    我是 python 新手 有以下问题 我需要将整数转换为 6 个字节的十六进制字符串 例如 281473900746245 gt xFF xFF xBF xDE x16 x05 十六进制字符串的格式很重要 int 值的长度是可变的 格式 0
  • 如何通过 API Gateway 使用事件调用类型调用 Lambda 函数?

    文件说 默认情况下 Invoke API 采用 RequestResponse 调用类型 您可以选择通过将 Event 指定为 InitationType 来请求异步执行 因此 我可以发送到我的函数 python 的就是到处都是 Inspi
  • 无法将 librosa 与 python 3 一起使用

    我已经在 Windows 上的 ubuntu 子系统上使用 pip3 正确安装了 librosa 但是当我尝试执行像这样的简单程序时 import librosa data sr librosa load sound mp3 print d
  • Python 子进程:无法转义引号

    我知道以前曾问过类似的问题 但它们似乎都是通过重新设计参数的传递方式 即使用列表等 来解决的 但是 我这里有一个问题 因为我没有这个选项 有一个特定的命令行程序 我使用的是 Bash shell 我必须向其传递带引号的字符串 它不能不被引用

随机推荐

  • shell使用示例

    文章目录 shell使用示例 统计一个文本文件中每个单词出现的频率 打印文本文件的第十行 判断有效的电话号码 输出数字范围内7的倍数 shell使用示例 统计一个文本文件中每个单词出现的频率 cat text tr s n sort uni
  • Win11 文件夹打开慢或卡顿解决方案

    问题 目前是 2023 2 27 我的 Win11 系统点开一个文件夹要等待 2 3 秒才能加载出来 使用体验极差 网上查阅大量资料 有些人在系统更新后这个情况就消失了 但是我这一直存在 系统也是当前的最新版 没有修复 目前得出的结论是 因
  • 修改Maven的本地仓库位置

    最近开始学SSM整合项目视频时 需要用到Maven仓库于是便开始研究起了Maven 首先需要在官网下载Maven的压缩包 然后进行解压 再把其加入到环境变量中 由于主要研究的时Maven的如何修改仓库位置 所以这里就一笔带过 不知道如何配置
  • MySQL复习笔记-一条SQL更新语句是如何执行的?

    前面我们系统了解了一个查询语句的执行流程 并介绍了执行过程中涉及的处理模块 相信你还记得 一条查询语句的执行过程一般是经过连接器 分析器 优化器 执行器等功能模块 最后到达存储引擎 那么 一条更新语句的执行流程又是怎样的呢 之前你可能经常听
  • 简单的Markdown功能实现——marked模块的使用

    marked是一个markdown 解析 编译器 通过引入marked模块 可以实现一个简单的markdown编辑器 使用方式如下 Install 新建一个项目文件夹 在项目中下载marked模块 Usage 新建一个marked js文件
  • java 生成纯色图片_canvas简单实现纯色背景图片抠图(示例代码)

    最近在研究html5 canvas的过程中 发现 canvas为前端对图像的处理开辟了一条新的道路 canvas可以做到很多事情 甚至可以做个类似于PhotoShop的东西 曾经本人在一家软件工作就做类似的工作 可以看一下我之前开发的软件
  • 支付宝、微信Android APP支付接入流程

    支付类型 一次性支付 自动续费 支付宝周期扣款 微信委托扣款 1 支付并签约 2 先签约后扣费 注 微信委托扣款中先签约后扣费 自动续费 授权扣款 免密支付 支付宝 支付流程中各端交互逻辑 支付流程中商户APP端交互逻辑 先签约后扣费流程中
  • 深度学习笔记2:手写一个单隐层的神经网络

    欢迎关注天善智能 我们是专注于商业智能BI 人工智能AI 大数据分析与挖掘领域的垂直社区 学习 问答 求职一站式搞定 对商业智能BI 大数据分析挖掘 机器学习 python R等数据领域感兴趣的同学加微信 tsaiedu 并注明消息来源 邀
  • layout_weight属性的用法和意义

    一直没理解在LinearLayout中的layout weight属性的意义 使用的时候都是将子控件的layout width或者layout height设置为0 然后在设置layout weight的权重值 以至于在被问到如果设置了la
  • s3.GLSL学习之着色器基础

    着色器 着色器程序看起来确实和C语言非常类似 它们从入口点main函数开始 并且使用同样的字符集和注释约定 以及很多相同的处理指令 着色器是运行在GPU上的小程序 这些小程序为图形渲染管线的一个特定部分而运行 从基本意义上来说 着色器不是别
  • QT踩坑记录2-多线程信号与槽

    错误输出 无错误输出 但是声明了信号的连接 但是无法使用 程序中就是无命令 介绍 QT 典型程序 include
  • Vue技术之经典案例todolist

    文章目录 前言 案例效果展示 案例功能介绍 案例主要技术 案例搭建过程 案例总结 前言 todolist案例在学习很多技术上都很适合新手练手 在这篇文章中将用Vue技术来实现该案例 此外感兴趣的小伙伴可以点击下方链接来获取案例源码哦 案例源
  • 鸿蒙第二批升级时间,鸿蒙系统第二批升级名单_鸿蒙系统第二批有哪些手机可以升级...

    鸿蒙系统现在已经是开通了第二批内测名单的报名了 听说第二批又增加了不少适配机型 于是很多第一批没有更新的小伙伴好像重现燃起了希望 那么第二批升级名单中都有哪些机型呢 我们一起来了解一下吧 1 鸿蒙系统第二批升级名单 这一期鸿蒙OS 2 0开
  • 对接支付宝服务商当面付&手机网页支付

    一 前期准备 SpringBoot对接支付宝当面付和手机网站支付 springboot 支付宝当面付 Biubiubiuexo的博客 CSDN博客 配置成功后获得到我们开发需要的 支付宝公钥 商户私钥 应用ID 服务商开通链接 支付宝服务商
  • qt信号发送间隔短而槽耗时多_Qt的信号和槽机制(Signals & Slots)

    信号和槽 Signals Slots 用于对象之间的通信 信号和槽机制是Qt的核心特性 可能也是与其他框架所提供的特性最不同的部分 信号和槽是由Qt的元对象系统 The Meta Object System 实现的 产生背景 在GUI编程中
  • spring boot整合mybatis查询数据库返回Map字段为空不返回解决

    1 出现问题原因 原因1 mybatis的配置即mapper返回映射配置 原因2 jackson的配置即 ResponseBody序列化配置 2 解决方式 步骤1 解决原因1 mybatis configuration call sette
  • scss的用法

    SCSS处理的了解和使用 官方文档 首先注意 这里的sass和我们的scss是什么关系 sass和scss其实是 一样的 css预处理语言 SCSS 是 Sass 3 引入新的语法 其后缀名是分别为 sass和 scss两种 SASS版本3
  • la是什么牌子_MLB帽子为什么这么火?!

    说到潮牌 大家想到的一定是Champion Supreme这些品牌 实际上除了这几个品牌 还有许多潮流品牌非常值得购买 MLB就是其中之一 那为什么MLB能在火出圈的同时还能让这么多人都爱不释手 随着大家对着潮流的关注 走街上10个人中就有
  • mysql 插入更新数据

    insert into insert into 语句进行插入时 如果插入的字段包含 主键或者唯一索引字段 那么 1 主键或唯一索引 已存在 则插入失败 1062 Duplicate entry 1 for key PRIMARY 2 只有主
  • python seaborn的常用方法及小例子,免费开源!

    楼主是为了方便自己以后使用 希望可以给大家带来帮助 喜欢的点赞支持 谢谢 seaborn简介 seaborn同matplotlib一样 也是Python进行数据可视化分析的重要第三方包 但seaborn是在 matplotlib的基础上进行