seaborn简明教程(一)

2023-11-10

1. Seaborn简介

seaborn是基于matplotlib的数据可视化库。它在matplotlib的基础上,进行了更高级的API封装,从而使得绘图更加容易,不需要经过大量的调整,就能使图形变得精致。
seaborn的几个鲜明特点如下:

  • 绘图接口更加集成,可通过少量参数设置实现大量封装绘图
  • 多数图表具有统计学含义,例如分布、关系、统计、回归等
  • 对Pandas和Numpy数据类型支持非常友好
  • 风格设置更为多样,例如风格、绘图环境和颜色配置等

我们应该把seaborn视为matplotlib的补充,而不是替代物。由于seaborn是以matplotlib为基础,因此在使用seaborn前,还是应先学习matplotlib的相关知识。

2. 导入seaborn

seaborn的依赖库为numpyscipypandasmatplotlib

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats, integrate

3. 加载样本数据

seaborn附带了样本数据集,所有数据集均为csv格式,数据集默认存放在线上,地址为https://github.com/mwaskom/seaborn-data

获取样本数据地址seaborn.get_data_home()

函数签名为seaborn.get_data_home(data_home=None)

返回值为样本数据集的缓存地址。这个用于seaborn.load_dataset()

获取样本数据地址seaborn.get_data_home()

返回可用样本数据集的名称。

加载数据集seaborn.load_dataset()

默认从网络加载数据集。

函数的签名为seaborn.load_dataset(name, cache=True, data_home=None, **kws)
函数的参数为:

  • name:数据集的名称,对应https://github.com/mwaskom/seaborn-dataname.csv。字符串。
  • cache:是否从网络下载数据集。布尔值。可选参数。当取值为True时,首选从本地缓存加载数据,如果下载数据会将数据缓存在本地。
  • data_home:缓存目录。字符串,可选参数。默认值为None,即get_data_home()
  • kws:传递给pandas.read_csv()的附加参数。键值对,可选参数。

返回值为pandas.DataFrame

加载本地数据集

由于数据集默认从github下载,由于网络不稳定或者没有网络,所以直接访问数据集可能不方便,因此加载本地数据集比较灵活。

加载本地数据集的步骤如下:

  1. 直接从https://github.com/mwaskom/seaborn-data 下载数据集。
  2. 将数据集保存在同一个目录中,比如D:\seaborn-data
  3. 加载数据时,设置load_dataset函数的cache参数为Truedata_home参数为D:\seaborn-data。即sns.load_dataset('iris',data_home=r'D:\seaborn-data',cache=True)

加载自定义数据

除了seaborn附带的数据集,也可以自己创建数据。

根据load_data()函数概述可知,其原理就是利用pandas.read_csv()函数读取csv文件,因此,只要数据最终被转换为DataFrame格式即可。

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

seaborn简明教程(一) 的相关文章

  • 使用 matplotlib 从“列表列表”绘制 3D 曲面

    我已经搜索了一些 虽然我可以找到许多有用的网格网格示例 但没有一个清楚地表明我如何将列表列表中的数据转换为可接受的形式 以适应我所讨论的各种方式 当谈到 numpy matplotlib 以及我所看到的建议的术语和步骤顺序时 我有点迷失 我
  • 使用 python 绘制正值小提琴图

    我发现小提琴图信息丰富且有用 我使用 python 库 seaborn 然而 当应用于正值时 它们几乎总是在低端显示负值 我发现这确实具有误导性 尤其是在处理现实数据集时 在seaborn的官方文档中https seaborn pydata
  • Matplotlib 中 x 轴标签的频率和旋转

    我在下面编写了一个简单的脚本来使用 matplotlib 生成图形 我想将 x tick 频率从每月增加到每周并轮换标签 我不知道从哪里开始 x 轴频率 我的旋转线产生错误 TypeError set xticks got an unexp
  • 使用 matplotlib 绘制简单的 3d numpy 数组

    我想绘制三维 ODE 系统的数值方法的结果 我的输出采用以下形式 假设我们已经计算了三个步骤 import numpy as np v np array 1 2 3 4 5 6 7 8 9 其中每个三元组中的第一个值是 x 坐标 第二个是
  • 使用 matplotlib 在 python3 中对多个形状进行动画处理

    尝试在 python3 中使用 matplotlib 动画函数同时对多个对象进行动画处理 下面写的代码是我到目前为止的位置 我能够创建多个对象并将它们显示在图中 我通过使用包含矩形补丁函数的 for 循环来完成此操作 从这里开始 我希望通过
  • matplotlib 中 3d 条形图的颜色图应用于每个条形

    有谁知道如何在 matplotlib 中轻松实现 3d 条形图的颜色图 考虑this https matplotlib org examples mplot3d hist3d demo html例如 如何根据颜色图更改每个条形 例如 短条形
  • 为 fill_ Between() 段的不同颜色添加图例

    我正在创建一个 事件图 目前如下所示 但是 我不知道如何为每个颜色组添加图例 这就是目前情节的创建方式 handles dict for i channel events in enumerate channel event list fo
  • 带有两个滑块的交互式 matplotlib 绘图

    I used 绘图库创建一些图 这取决于 8 个变量 我想研究一下当我改变其中一些内容时情节如何变化 我创建了一些脚本来调用绘图库一个并生成不同的快照 稍后我将其转换成电影 这还不错 但有点笨拙 我想知道是否可以使用键盘按键与绘图重新生成进
  • 通过热图绘制横截面

    我有一个形状数组 201 201 我想通过数据绘制一些横截面 但我在访问相关点时遇到问题 例如 假设我想绘制由生成的图中的线给出的横截面 from pylab import Z randn 201 201 x linspace 1 1 20
  • 设置`ylabel`的位置

    我正在尝试使用 matplotlib 重新创建下图的外观 但是 我对放置位置有疑问ylabel 我想要它在顶部y 轴 如图所示 我尝试过设置它的位置ax yaxis set label position 但这只接受left or right
  • matplotlib savefig 性能,在循环内保存多个 png

    我希望找到一种方法来优化以下情况 我有一个使用 matplotlib 的 imshow 创建的大型等高线图 然后 我想使用此等高线图来创建大量 png 图像 其中通过更改 x 和 y 限制以及长宽比 每个图像都是等高线图像的一小部分 因此
  • matplotlib get_color 用于子图

    我正在按照这里的教程进行操作 https matplotlib org gallery ticks and spines multiple yaxis with spines html https matplotlib org galler
  • matplotlib 的 pcolor 中的白线

    在某些 pdf 查看器 例如 OSX 上的 Preview 中 使用以下命令绘制的图matplotlib的 pcolor 有白线 见下图 我怎样才能摆脱它们 源代码非常简单 选择任何数据x y z import matplotlib mat
  • 覆盖 y 轴刻度标签而不影响 pyplot 中的图形形状

    我想手动覆盖 y 轴刻度标签而不影响原始图 例如 我如何在不影响原始绘图形状的情况下显示 y 轴刻度标签 1 10 100 1000 10000 即仍然显示完美的二次曲线 import numpy as np import pylab as
  • 使用 matplotlib.animation 从 CSV 文件实时绘图 - 数据绘制到第一个输入错误

    我正在尝试绘制来自不断写入 CSV 文件的传感器的数据 虽然成功创建实时绘图 但每个新数据条目都会创建一条延伸到第一个数据条目的附加线 见下文 Python 3 4 脚本 import matplotlib pyplot as plt im
  • Python Tkinter 在 GUI 中嵌入 Matplotlib

    我正在尝试将绘图嵌入到用 Python 编码的 Tkinter GUI 中 我相信下面的代码成功地将图形放入画布中 但我无法控制 GUI 网格中的画布位置 我希望能够将 GUI 的一部分作为情节 而不是全部 我怎样才能定位这个画布小部件 u
  • 部署应用程序时“matplotlib”没有属性“cm”

    我正在尝试部署一个使用 Dash 开发的应用程序 该应用程序使用一些 matplotlib 函数 当我在本地运行应用程序时 它运行顺利并且一切正常 但是 当我使用相同的代码部署它时 我使用heroku进行部署 安装的 matplotlib
  • 如何使用 Matplotlib 可视化标量二维数据?

    所以我有一个网格网格 矩阵 X 和 Y 以及标量数据 矩阵 Z 我需要将其可视化 最好是一些 2D 图像 在各点处带有颜色 显示 Z 值 我做了一些研究 但没有找到任何能完全满足我想要的效果的东西 pyplot imshow Z 看起来不错
  • 旋转 3d 图形的 z 轴

    How do I rotate the z axis of a matplotlib figure so that it appears as the horizontal axis I have created the following
  • 如何将人物传奇带到前台?

    我有一系列子图 其中每个子图都有一个图例 我想在每个子图之外与相邻子图重叠 问题在于图例位于其自己的图的 顶部 但位于相邻图的下方 Legend 不将 zorder 作为参数 所以我不知道如何解决这个问题 这是我使用过的代码 import

随机推荐

  • HTML <select> 标签

    实例 创建带有 4 个选项的选择列表
  • 【计算机网络】TCP报文段详解

    本文为借阅书籍资料 观看他人博客总结得出 欢迎提问 一 前期说明 TCP虽然是面向字节流的 但是在网络中的传输单元确实是报文段的格式 一个TCP报文段分为首部和数据两个部分 而协议的全部实现都在TCP报文段的首部体现出来的 只有先理解首部各
  • 【计算机视觉】ViT:代码逐行解读

    文章目录 一 代码 二 代码解读 2 1 大体理解 2 2 详细理解 一 代码 import torch import torch nn as nn from einops import rearrange from self attent
  • 如何调整图片分辨率大小(适用于电脑/手机)

    随着智能手机快速发展 相机分辨率也从几百万像素升级到上千万 甚至上亿像素 超高像素的图片不仅会占用越来越多的存储空间 还会在上传和分享时耗费不少时间 而且在一些特殊APP或者网站上传图片时 可能对图片宽高分辨率有要求 这些时候 就需要我们调
  • ARP Proxy

    ARP Proxy原理 当主机没有配置网关 发一个请求目的MAC地址 ARP Proxy会使用自己的MAC地址作为该ARP请求的的回应 分类 路由式ARP Proxy 实现同一网段 请求的是目的MAC地址 不同物理位置 中间有三层设备 的互
  • 开源大模型详解

    作者 Linux猿 简介 CSDN博客专家 华为云享专家 Linux C C 云计算 物联网 面试 刷题 算法尽管咨询我 关注我 有问题私聊 欢迎小伙伴们点赞 收藏 留言 本篇文章主要对开源大模型进行总结和介绍 一 什么是大模型 大模型指网
  • 吐槽记~(这个帖子是我的垃圾桶)~哈哈

    我倒是要看看tamen到底有多少该吐槽的点 一 令人窒息的业务 初见 1 收到原始需求文档 涉及前后端开发 涉及流程 但是无流程图 无UI图 全文字描述 2 过需求会议 来一份会议纪要 加20个修改点 3 再来一个会议 提出15个修改点 开
  • mpvue小程序实战项目开发记录篇(二)

    六 mpvue的能力 1 彻底的Vue组件化开发能力 提高代码复用性 2 完整的vue开发体验 3 快捷的 webpack 构建机制 开发阶段 hotReload 4 支持npm安装依赖 5 使用 Vue js 命令行工具 vue cli
  • 手机闪存速度排行_手机闪存性能排行

    手机专用闪存主要分为eMMC和UFS两大类别 前者仅支持并行读写 即半双工运行 读写必须分开执行 哪怕是最新的eMMC5 1标准其顺序读取和写入速度也不过300MB s和200MB s左右 常见于售价低于千元的入门级4G手机市场 UFS自诞
  • Win10 某个移动硬盘不自动分配盘符

    简单来说就是某个移动硬盘不自动分配盘符 每次都要到磁盘管理里面手动分配盘符 而且每次删除设备后 手动分配的盘符不消失 1 使用管理员启动 CMD 命令提示符 2 输入 diskpart 3 列出磁盘 list disk 4 选择磁盘 sel
  • 创建动态数组键盘输入一个正整数 n,创建大小为 n 的数组(采用动态数组的方式),将数组中的元素初始化为 n、n+1、...、2n - 1。并输出数组中的元素。输入描述:键盘输入一个正整数 n输

    include
  • 【QT 网络云盘客户端】——实现文件属性窗口

    目录 文件属性对话框 设置字体样式 获取文件的信息 显示文件属性对话框 当我们点击文件中的属性 则会弹出一个属性对话框 实现过程 0 设置 属性 菜单项的槽函数 1 鼠获取鼠标选中的QListWidgetItem 它包含 图标和文件名 2
  • 代码重构与单元测试——重构1的单元测试(四)

    四 重构1的vb net教程单元测c 教程试 程序开发过程中 写代码是为了实现需求 当我们的代码通过了编译 只是说明它的语法正确 功能能否实现则不能保证 因此 当我们的某些功能代码完成后 为了检验其是否满足程序的需求 可以通过编写测试代码
  • java自动化测试语言高级之多线程编程

    java自动化测试语言高级之多线程编程 Java 多线程编程 Java 给多线程编程提供了内置的支持 一条线程指的是进程中一个单一顺序的控制流 一个进程中可以并发多个线程 每条线程并行执行不同的任务 多线程是多任务的一种特别的形式 但多线程
  • Fiddler工具使用汇总

    Fiddler工作原理 fiddler作为一个代理服务器 跟浏览器建立连接之后 浏览器像目标服务器发送的请求都会经过fiddler代理 所以fiddler可以捕获到http s 请求 从而可以解释 分析 甚至重写发出去的http s 请求
  • Conda、pip下载包:PackagesNotFoundError: The following packages are not available from current channels:

    1 问题 安装包的时报下面错误 安装包之前查一下当前环境对应的包的版本 conda search 包名 2 解决方法1 报错原因是当前镜像中不存在这个包 解决方法如下 直接去官网https anaconda org 搜包名 找到对应的版本点
  • ESXI虚拟机 - 使用vmdk虚拟机转换为OVF模板,导入ESXI

    目录 一 前提条件 二 转换为OVF模板 三 导入ESXI系统 四 安装时可能会出现的问题 一 前提条件 已安装VMware Workstation 并且创建了一个的虚拟机 此处以win8 1为例 已存在ESXI系统 二 转换为OVF模板
  • 包装类Integer判断“==”相等

    今日小编在复习Java基本数据操作类是发现的遗忘问题 是Integer的 比较问题 与大家进行分享 示例代码如下 public class IntegerComparison public static void main String a
  • 四因素三水平正交试验表_最简单的正交试验教程,一次性搞懂它

    大家好 今天要分享的是正交试验设计与结果检验过程 正交试验设计时试验优化的常用技术 它可以通过科学合理地设计 达到用较少的试验次数 取得较为准确可靠的结果 正交试验设计一般包括以下几步 确定研究因素和指标水平 制作成正交试验表格 实施试验
  • seaborn简明教程(一)

    1 Seaborn简介 seaborn是基于matplotlib的数据可视化库 它在matplotlib的基础上 进行了更高级的API封装 从而使得绘图更加容易 不需要经过大量的调整 就能使图形变得精致 seaborn的几个鲜明特点如下 绘