当前位置: 首页 > news >正文

python可视化-直方图

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')

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 解决Vscode Copilot连不上网问题
  • DWG如何转换成PDF?总结了四种转换
  • RocketMQ 实战:在 macOS 上安装与前端访问全流程指南
  • vue后台项目打包成桌面应用程序(.exe)
  • Netty 知识目录
  • vue2.0中axios请求配置
  • 数据治理学习笔记(二):在数仓建模过程中,数据治理要怎么做
  • Pinia 使用(一分钟了解)
  • 刷题记录-HOT 100(二)
  • 【C++11及其特性】智能指针——unique_ptr
  • 用 BigQuery ML 和 Google Sheets 数据预测电商网站访客趋势
  • Linux驱动开发MODULE_DEVICE_TABLE的作用
  • 【Spring Boot-IDEA创建spring boot项目方法】
  • EXCEL文件如何批量加密,有什么方法
  • 零基础学习Redis(7) -- hash类型命令使用
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【mysql】环境安装、服务启动、密码设置
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • Git初体验
  • Linux后台研发超实用命令总结
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • session共享问题解决方案
  • webpack+react项目初体验——记录我的webpack环境配置
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 使用 Docker 部署 Spring Boot项目
  • 使用agvtool更改app version/build
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 硬币翻转问题,区间操作
  • 用Visual Studio开发以太坊智能合约
  • scrapy中间件源码分析及常用中间件大全
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • #LLM入门|Prompt#3.3_存储_Memory
  • #每日一题合集#牛客JZ23-JZ33
  • (07)Hive——窗口函数详解
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • ??myeclipse+tomcat
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [android] 切换界面的通用处理
  • [Android]将私钥(.pk8)和公钥证书(.pem/.crt)合并成一个PKCS#12格式的密钥库文件
  • [BZOJ 4034][HAOI2015]T2 [树链剖分]
  • [C#]将opencvsharp的Mat对象转成onnxruntime的inputtensor的3种方法