python可视化-直方图

news2024/12/27 13:21:27

1、加载数据

import pandas as pd
from sklearn.datasets import load_iris
import warnings
 
# 禁用所有警告信息
warnings.filterwarnings('ignore')

# 加载数据
iris = load_iris()
iris

iris.keys()

df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['target'] = iris.target
df.head()

 2、基于seaborn的直方图

sns.displot(df['sepal length (cm)'], kind='hist', rug=True)

 

sns.displot(y=df['sepal length (cm)'])

3、基于matplotlib的直方图

import matplotlib.pyplot as plt

# 初始画布
fig, ax = plt.subplots(figsize=(4, 3))

ax.hist(df['sepal length (cm)'], edgecolor='black')
plt.show()

 4、绘制子图对比

# 构造子图
fig, ax = plt.subplots(3, 2, constrained_layout=True, figsize=(12, 16))

sns.histplot(data=df, x='sepal length (cm)', ax=ax[0][0])
sns.histplot(data=df, y='sepal length (cm)', ax=ax[0][1])

# 自定义分箱数量bins
ax_sub = sns.histplot(data=df, x='sepal length (cm)', bins=20, ax=ax[1][0])
ax_sub.set_title('自定义分箱')


# 添加密度曲线kde
ax_sub = sns.histplot(data=df, x='sepal length (cm)', kde=True, ax=ax[1][1])
ax_sub.set_title('添加密度曲线')

# 增加密度曲线和数据分布(小短条)
# rug参数用于绘制出一维数组中数据点实际的分布位置情况,单纯的将记录值在坐标轴上表现出来
ax_sub = sns.histplot(data=df, x="sepal length (cm)", kde=True, ax=ax[2][0])
sns.rugplot(data=df, x="sepal length (cm)", ax=ax_sub.axes)
ax_sub.set_title('添加kde+rug')


# 自定义密度曲线+自定义数据分布(kde+rug)
ax_sub = sns.histplot(data=df, x="sepal length (cm)", stat="density", ax=ax[2][1])
sns.kdeplot(data=df, x="sepal length (cm)", color="g", linewidth=5, alpha=0.3, ax=ax_sub.axes)
sns.rugplot(data=df, x="sepal length (cm)", color="r", linewidth=2, alpha=0.3, height=0.1, ax=ax_sub.axes)
ax_sub.set_title('自定义kde+rug')

plt.show()

 

# 构造子图
fig, ax = plt.subplots(3, 2, constrained_layout=True, figsize=(12, 12))

sns.histplot(data=df, ax=ax[0][0])
sns.histplot(data=df, shrink=.8, multiple='stack', ax=ax[0][1])
# 重叠
ax_sub = sns.histplot(data=df, x='sepal length (cm)', hue='target', ax=ax[1][0])
ax_sub.set_title('重叠(覆盖)图')
# 堆叠
ax_sub = sns.histplot(data=df, x='sepal length (cm)', hue='target', multiple='stack', ax=ax[1][1])
ax_sub.set_title('堆叠图')

sns.histplot(df, x='sepal length (cm)', hue='target', element='step', ax=ax[2][0])
sns.histplot(df, x='sepal length (cm)', hue='target', element='step', stat="density", ax=ax[2][1])

plt.show()

# 构造子图
fig, ax = plt.subplots(2, 1, constrained_layout=True, figsize=(4, 6))

sns.histplot(df, x='sepal length (cm)', y='petal length (cm)', ax=ax[0])
sns.histplot(df, x='sepal length (cm)', y='petal length (cm)', hue='target', ax=ax[1])

5、一图绘制多个变量

sns.histplot(df, x='sepal length (cm)', label='sepal length (cm)', kde=True)

sns.histplot(df, x='sepal width (cm)', label='sepal width (cm)', kde=True)

plt.legend()
plt.show()

# 直方图+散点图 :散点图可以观测两个变量的关系,直方图能够更好的展示数据分布

sns.jointplot(x=df["sepal length (cm)"], y=df["sepal width (cm)"], kind='scatter')

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

联华证券_股票特大单买入意味什么,主力入市

“股票特大单买入”通常意味着有大量资金集中在某一时刻涌入该股票,这往往被视为主力资金入市的迹象。以下是这一现象的详细解读: 1. 主力资金入市 特大单买入: 指的是单笔大额资金买入某只股票,通常是由机构投资者或其他大资金操盘者进行的…

动手学深度学习(pytorch)学习记录19-参数管理[学习记录]

文章目录 参数访问目标参数一次性访问所有参数从嵌套块收集参数 参数初始化内置初始化自定义初始化 参数绑定延后初始化 本节内容: 访问参数,用于调试、诊断和可视化; 参数初始化; 在不同模型组件间共享参数; 延后初始…

C++必修:unordered_set与unordered_map的实现

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C学习 贝蒂的主页:Betty’s blog 1. unordered_set与unordered_map的结构 我们知道STL中的unordered_set与unorder…

PowerDesigner生成数据库表结构

PowerDesigner生成数据库表结构 目录 1. 安装32位JDK 2. 更改当前DBMS 3. 下载MySQL驱动 4. 生成数据库表结构 安装32位JDK PowerDesigner只支持32位JDK 更改当前DBMS 下载MySQL驱动 下载地址: MySQL :: Begin Your Download 生成数据库表结构 选择Dire…

同城外卖系统开发方案解析

外卖系统开发是一个复杂而细致的过程,涉及多个方面的考虑和技术实现。以下是对外卖系统开发的详细解析: 一、需求分析 在开发外卖系统之前,首先需要进行详尽的需求分析。这包括用户需求、商家需求和后台管理需求三个方面: 用户需…

怎样把两个pdf合并成一个pdf?教你7种方法轻松完成合并!

新手小白如何将pdf合并成一个文件?pdf是目前较为主流的一种传输格式,内容包含了丰富的多媒体数据,包括文本、图像、表格等多种元素,很多企业和教育工作者都喜欢使用pdf格式。 pdf文件体积较小,兼容性高,平…

微深节能 卸料小车远程智能控制系统 格雷母线定位系统

微深节能的卸料小车远程智能控制系统与格雷母线定位系统的结合,为物料管理提供了智能化、精准化、高效化的解决方案。 一、系统概述 卸料小车远程智能控制系统:该系统利用现代科技手段,实现对卸料小车的远程监控与智能控制,旨在提…

使用vueuse在组件内复用模板

1. 安装vueusae pnpm i vueuse/core2. 组件内复用模板 createReusableTemplate 是vueuse中的一个实用工具,用于在 Vue 3 中创建可重复使用的模板片段,同时保持状态的独立性。这对于需要在多个组件中重复使用相同的结构和逻辑时非常有用。 因为这些可复…

基于ROM的VGA显示

前言 在早期计算机和嵌入式系统中,图形显示和用户界面的实现主要依赖于硬件技术。VGA(视频图形阵列)标准在1980年代中期成为主流图形显示技术,其高分辨率和良好的兼容性使其在计算机显示领域中占据了重要地位。VGA标准支持640x480…

基于清风数学建模视频课的思维导图

B站视频课地址 数学建模学习交流

【前端开发必备小技巧】前端代码规范html、css篇

文章目录 🟢 前端代码规范🟢 一、编码规约👉1、命名规范👉1.1、项目命名👉1.2、目录命名👉1.3、JS、CSS、SCSS、HTML、PNG 文件命名👉1.4、命名严谨性 👉2、HTML规范(Vue Template 同…

EasyCVR中的H.265技术:助力实现大规模高效流畅的视频监控应用

随着视频监控技术的不断发展和用户对视频质量要求的不断提高,高效能、低延迟的视频编码技术成为视频监控系统中的重要支撑。TSINGSEE青犀视频旗下的EasyCVR视频汇聚平台凭借其强大的视频处理能力和对H.265技术的支持,在视频监控系统中展现出显著的应用优…

【qt】锁

线程安全问题. 多线程程序太复杂了. 加锁 把多个线程要访问的公共资源,通过锁保护起来.>把并发执行变成串行执行. Linux mutex 互斥量. C11引入std::mutex Qt 同样也提供了对应的锁,来针对系统提供的锁进行封装.QMutex 多个线程进行加锁的对象&…

信息学奥赛初赛天天练-77-NOIP2015普及组-基础题2-二进制、连通图、最小生成树、链表、二叉树、完全二叉树

NOIP 2015 普及组 基础题2 4 在计算机内部用来传送、存贮、加工处理的数据或指令都是以( )形式进行的 A 二进制码 B 八进制码 C 十进制码 D 智能拼音码 5 下列说法正确的是( ) A CPU 的主要任务是执行数据运算和程序控制 B 存储器具有记忆能力,其中信息任何时候都…

【Linux】——Rocky Linux配置静态IP

Rocky Linux配置静态IP Rocky Linux Rocky Linux 进入官网进行下载,下载版本自定义 官网link 获取ip地址 ip addr 获取服务器ip地址 进入网络配置文件目录: cd /etc/NetworkManager/system-connections/vi打开ens33.nmconnection 在IPv4下输入配置信…

Day50 | 108.冗余连接 109.冗余连接II

108.冗余连接 108. 冗余连接 题目 题目描述 树可以看成是一个图(拥有 n 个节点和 n - 1 条边的连通无环无向图)。 现给定一个拥有 n 个节点(节点标号是从 1 到 n)和 n 条边的连通无向图,请找出一条可以删除的边&…

基于元神操作系统编程写USB扇区

1. 背景 本文介绍了“调用元神操作系统API向U盘扇区写数据”的程序实现及测试结果。 2. 方法 (1)调用元神操作系统API读U盘扇区 本部分内容已在前面的文章中进行介绍,详细内容请参考“编写程序调用元神操作系统的API”。 (2&…

WordPress入门级防火墙推荐指南

随着互联网的发展,网站安全问题日益凸显。对于刚开始接触WordPress的用户来说,选择一款合适的防火墙插件非常关键。防火墙不仅能保护网站免受恶意攻击,还能实时监控流量,确保网站正常运行。今天我将为大家介绍两款适合新手使用的W…

Python计算机视觉 第4章-照相机模型与增强现实

Python计算机视觉 第4章-照相机模型与增强现实 4.1 针孔照相机模型 针孔照相机模型(有时称为射影照相机模型)是计算机视觉中广泛使用的照相机模型。对于大多数应用来说,针孔照相机模型简单,并且具有足够的精确度。这个名字来源…

我的电脑/资源管理器里无法显示新硬盘?

前情提要 我新!买了一个京东京造的SATA3硬盘,一个绿联的SATA3转USB读取 现在我的电脑里只能显示我本地的C盘和D盘,不能显示这个接入的SATA盘。 系统环境:windows11 问题描述 在我的电脑里,只能看到我原本的C和D&…