Python 的画图函数 seaborn 简介

seaborn 简介

seanborn 是 Python 的另外一个常用工具包,它基于 matplotlib,但画出的图形更加美观些,并且与 Pandas 的数据类型结合地较好。

# Import seaborn
import seaborn as sns
import matplotlib.pyplot as plt

# Apply the default theme
sns.set_theme() # 应用 seaborn 的默认主题

x = np.arange(0, 10,0.5)
y = np.sin(x)
plt.plot(x, y)
plt.show()

在这里插入图片描述

可以看出,应用 seaborn 的主题后,图形的配色变化了些。下面我们导入 seaborn 自带的数据集 tips。

# Load an example dataset
tips = sns.load_dataset("tips") # seaborn 自带的数据集,国内导入网速慢可能出错,可以把数据集提前从 github 上下载到电脑里
print(tips)
type(tips)
     total_bill   tip     sex smoker   day    time  size
0         16.99  1.01  Female     No   Sun  Dinner     2
1         10.34  1.66    Male     No   Sun  Dinner     3
2         21.01  3.50    Male     No   Sun  Dinner     3
3         23.68  3.31    Male     No   Sun  Dinner     2
4         24.59  3.61  Female     No   Sun  Dinner     4
..          ...   ...     ...    ...   ...     ...   ...
239       29.03  5.92    Male     No   Sat  Dinner     3
240       27.18  2.00  Female    Yes   Sat  Dinner     2
241       22.67  2.00    Male    Yes   Sat  Dinner     2
242       17.82  1.75    Male     No   Sat  Dinner     2
243       18.78  3.00  Female     No  Thur  Dinner     2

[244 rows x 7 columns]





pandas.core.frame.DataFrame

可以看出,tips 数据集载入后,是 Pandas 的 DataFrame 类型,seaborn 可以方便地针对 DataFrame 数据集画图。下面,我们以其中的relplot 函数为例,讲解如何使用 seanborn 画图。relplot 函数的基本用法如下:

relplot(data=None, x=None, y=None, row=None, col=None,hue=None, kind='scatter', **kwargs)
data输入的数据,常见的数据类型,例如 Pandas 或 Numpy 中的数据
x横坐标数据
y纵坐标数据
row/col将数据按行或列划分为子数据集,生成多个子图
hue颜色,可以是数值类型或类别数据
kind图像类型,'line' 或 ‘scatter'
**kwargs其他参数,例如 style,sizes 等

sns.relplot(
    data = tips, 
    x = "total_bill", y="tip", 
    hue = 'smoker', # 按是否吸烟生成不同的颜色
    col = 'sex', # 按不同性别生成子图
    style = 'smoker' # 按是否吸烟生成不同的点形
)
plt.show()

在这里插入图片描述

生成线图时,相同横坐标的数据将会合并,并且,图像会显示均值以及 95% 的置信区间:

sns.relplot(
    data = tips, 
    x = "day", y="tip", 
    hue = 'smoker', # 按是否吸烟生成不同的颜色
    kind = 'line'
)
plt.show()

在这里插入图片描述

seaborn 自带一些函数生成常见的图形,例如barplot生成条形图,histplot生成直方图,boxplot生成箱线图:

sns.barplot(
    data = tips, 
    x = "day", y="tip", 
    hue = 'smoker', # 按是否吸烟生成不同的颜色
)
plt.show()

在这里插入图片描述

sns.histplot(
    data = tips, 
    x = "tip", 
)
plt.show()

在这里插入图片描述

sns.boxplot(
    data = tips, 
    x = "day",
    y = "tip", 
)
plt.show()

在这里插入图片描述

seaborn 还有其他一些画图函数,例如heatmap生成热力图,violinplot生成小提琴图,限于篇幅,本文不再赘述,有兴趣的读者可以查阅官方文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/96267.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android 热修复核心原理

dexopt 在Dalvik中虚拟机在加载一个dex文件时,对 dex 文件 进行 验证 和 优化的操作,其对 dex 文件的优化结果变成了 odex(Optimized dex) 文件,这个文件和 dex 文件很像,只是使用了一些优化操作码。 dex2oat ART 预先编译机制&a…

创建型模式-建造者模式

使用多个简单的对象一步一步构建成一个复杂的对象 主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部…

Redis之stream类型解读

目录 基本介绍 数据结构 消息 消费组 消费者 基本使用命令 概述 xadd 命令 xtrim 命令 xdel 命令 xlen 命令 xrange 命令 xread 命令 xgroup 命令 xreadgroup 命令 xack 命令 基本介绍 Redis stream(流)是一种数据结构,其…

uniapp接入广告的问题总结

Uniapp官方解决方案 uni-app 支持接入uni-ad广告联盟,开发者可实现一次开发,多端变现。 uni-ad 支持开屏、信息流、激励视频、视频流、悬浮红包、推送等丰富的广告形式; uni-ad 聚合了全网所有主流广告源,包括腾讯优量汇、字节…

【数学建模竞赛】各类题型及解题方案

评价类赛题建模流程及总结 建模步骤 建立评价指标->评价体系->同向化处理(都越多越好或越少越少)->指标无量纲处理 ->权重-> 主客观->合成 主客观评价问题的区别 主客观概念主要是在指标定权时来划分的。主观评价与客观评价的区别…

【单片机】UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE、Ethernet等常见通信方式

在单片机开发中,UART、I2C、RS485等普遍在用,这里做一个简单的介绍 UART通用异步收发器 UART口指的是一种物理接口形式(硬件)。 UART是异步(指不使用时钟同步,依靠帧长进行判断),全双工(收发…

【Axure高保真原型】中继器网格图片拖动摆放

今天和大家分享中继器网格图片拖动摆放的原型模板,我们可以通过鼠标拖动来移动图片,拖动过程其他图标会根据图片拖动自动排列,松开鼠标是图片停放在指定位置,其他图标自动排列。那这个模板是用中继器制作的,所以使用也…

Redis——》Pipeline

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

内嵌功能强大、低功耗STM32WB55CEU7、STM32WB55CGU7 射频微控制器 - MCU, 48-UFQFN

一、概述: STM32WB55xx多协议无线和超低功耗器件内嵌功能强大的超低功耗无线电模块(符合蓝牙 低功耗SIG规范5.0和IEEE 802.15.4-2011标准)。该器件内含专用的Arm Cortex -M0,用于执行所有的底层实时操作。这些器件基于高性能Arm …

想与一个大佬探讨一下,他网站说的先验分布、后验分布,似乎不对?

2_probability 我对这个问题,是这么理解的: 几个网友,一开始都和我持不同的观点。感觉这是最基本的抽样检验问题啊。。。。。。。。。。。。。。。。。。。

Mybatis学习笔记(三)——Mybatis的配置(Mybatis-config.xml)

Mybatis学习笔记(三)——Mybatis的配置(Mybatis-config.xml) 传送门:Mybatis中文网——配置 Mybatis配置文档的顶层结构: configuration(配置) properties(属性&#…

Linux用户与组管理(03)(八)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、组管理 1、概述 2、用户信息查看 总结 前言 今天是学习用户与组管理的最后一节课,这节课主要是组管理的内容,希望能一起学习&#xff…

C# 生成唯一ID

1.首先通过nuget安装yitter.idgenerator 下面的三行代码搞定

AP5192 DC-DC降压恒流LED汽车头灯摩托车电动车大灯电源驱动

AP5192是一款PWM工作模式,高效率、外围简单、 内置功率MOS管,适用于4.5-100V输入的高精度 降压LED恒流驱动芯片。最大电流1.5A。 AP5192可实现线性调光和PWM调光,线性调光 脚有效电压范围0.55-2.6V. AP5192 工作频率可以通过RT 外部电阻编程 来设定&…

19.CSS雨云动画特效

效果 源码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Cloud & Rain Animation</title><link rel="stylesheet" href="style.css"> </head> <bo…

考虑储能电池参与一次调频技术经济模型的容量配置方法(matlab代码)

目录 1 主要内容 储能参与调频原理 储能参与一次调频的充放电策略 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现文献《考虑储能电池参与一次调频技术经济模型的容量配置方法》模型&#xff0c;以调频效果最优为目标&#xff0c;考虑储能参与一次调频的充放电…

VMware虚拟机---Ubuntu无法连接网络该怎么解决?

在学习使用Linux系统时&#xff0c;由于多数同学们的PC上多是Windows系统&#xff0c;故会选择使用VMware创建一个虚拟机来安装Linux系统进行学习。 安装完成之后&#xff0c;在使用时总是会遇到各种各样的问题。本片随笔就主要针对可能出现的网络问题进行一个总结&#xff0c;…

记一次PlanUML时序图学习

记一次PlanUML时序图学习 前言插件效果代码及其属性解析解析actorparticipantqueueskinparam sequenceMessageAlign centerautonumber-->xnote overalt 总结 前言 最近因为工作需要学习了使用PlanUML画时序图&#xff0c;上一次学这个还是在大学的时候&#xff0c;以为这辈…

正则表达式 之 断言详解

正则表达式的先行断言和后行断言一共有 4 种形式&#xff1a; (?pattern) 零宽正向先行断言(zero-width positive lookahead assertion)(?!pattern) 零宽负向先行断言(zero-width negative lookahead assertion)(?<pattern) 零宽正向后行断言(zero-width positive lookb…

基于遗传算法 (Genetic Algorithm, GA) 实现N个城市环游最优路径规划计算

遗传算法&#xff08;Genetic Algorithm&#xff0c;GA&#xff09;是一种基于生物进化过程的优化算法&#xff0c;通过模拟自然界的遗传和进化机制&#xff0c;寻找问题的最优解。在解决复杂和多变量的优化问题中&#xff0c;遗传算法表现出良好的鲁棒性和全局搜索能力。 遗传…