python可视化-密度图

 1、加载数据

import pandas as pd
import numpy as np
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、基于matplotlib的密度图

from scipy.stats import gaussian_kde# 根据数据集构造密度函数
density = gaussian_kde(df['sepal width (cm)'])
density.covariance_factor = lambda : .25
density._compute_covariance()# 构造向量作为x轴刻度
xs = np.linspace(1.5, 5, 200)# 初始化
plt.figure(figsize=(8, 6))plt.plot(xs, density(xs))
plt.show()

3、基于seaborn的密度图

import seaborn as sns
import matplotlib.pyplot as pltsns.set(font='SimHei', font_scale=0.8, style="darkgrid") # 解决Seaborn中文显示问题# 构造子图
fig, ax = plt.subplots(2,2,constrained_layout=True, figsize=(12, 8))# 密度图
ax_sub = sns.kdeplot(df['sepal width (cm)'], ax=ax[0][0])
ax_sub.set_title('密度图')# 水平密度图
ax_sub = sns.kdeplot(y=df['sepal width (cm)'], color="skyblue", ax=ax[0][1])
ax_sub.set_title('水平密度图')# 增加阴影
ax_sub = sns.kdeplot(df['sepal width (cm)'], fill=True, ax=ax[1][0])
ax_sub.set_title('增加阴影')sns.kdeplot(data=df, x='sepal width (cm)', fill=True, bw_method=0.1, ax=ax[1][1]).set_title('降低带宽')plt.show()

4、一图绘制多个变量

ax_sunb = sns.kdeplot(data=df, x='sepal width (cm)', fill=True, color='r', label='sepal width (cm)')
ax_sub = sns.kdeplot(df['sepal length (cm)'], fill=True, color="b", label='sepal length (cm)')
plt.legend()
# 修改x标签
plt.xlabel('speal width/speal length')plt.show()

# alpha:修改透明度
sns.kdeplot(data=df, x='sepal width (cm)', hue="target", fill=True, common_norm=False, alpha=0.4)

# 绘制网格(共用坐标轴)
g = sns.FacetGrid(data=df, col='target', hue='target', col_wrap=3)
# 绘制密度图
g = g.map(sns.kdeplot,"sepal width (cm)", cut=0, fill=True, common_norm=False, alpha=1, legend=False)
# 每个网格的标题
g = g.set_titles("{col_name}")plt.show()

# 绘制堆积图
sns.kdeplot(data=df, x='sepal width (cm)', hue='target', common_norm=False, multiple="fill", alpha=1)plt.show()

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac nvm安装及使用(nvm安装指定版本node npm pnpm)

mac nvm安装及使用(nvm安装指定版本node npm pnpm) 1.卸载电脑的node 打开终端:依次执行以下命令: sudo rm -rf /usr/local/bin/npm sudo rm -rf /usr/local/share/man/man1/node.1 sudo rm -rf /usr/local/lib/dtrace/node.d s…

开源word文档相似度对比 软件WinMerge

WinMerge 官网下载 :GitHub - WinMerge/winmerge: WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and hand…

API网关之Kong

Kong 是一个高性能的开源 API 网关和微服务管理平台,用于管理、保护和扩展 API 和微服务。它最初由 Mashape 公司开发,并于 2015 年作为开源项目发布。Kong 能够处理 API 的路由、认证、负载均衡、缓存、监控、限流等多种功能,是微服务架构中…

网络应用层之(2)DNS协议

网络应用层之(2)DNS协议 Author: Once Day Date: 2024年8月12日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: 通信网络技术_Once-Day的博客-CSDN…

PyTorch深度学习网络(二:CNN)

卷积神经网络(CNN)是一种专门用于处理具有类似网格结构数据的深度学习模型,例如图像(2D网格的像素)和时间序列数据(1D网格的信号强度)。CNN在图像识别、图像分类、物体检测、语音识别等领域有着…

R语言绘制可用于论文发表的生存曲线图|科研绘图·24-08-25

小罗碎碎念 有关于生存曲线的基本概念(例如删失事件的定义)和绘图的详细教程我已经在5月的推文中介绍过了,有需求的同学欢迎前去考古。 R语言绘制生存分析曲线从概念到实战的保姆级教程|2024-05-12 https://mp.weixin.qq.com/s/Z…

SQL进阶技巧:如何按任意时段分析时间区间问题? | 分区间讨论【左、中、右】

目录 0 场景描述 1 数据准备 2 问题分析 方法1:分情况讨论,找出重叠区间 方法2:暴力美学法。按区间展开成日期明细表 3 拓展案例 4小结 0 场景描述 现有用户还款计划表 user_repayment ,该表内的一条数据,表示用户在指定日期区间内 [date_start, date_end] ,每天…

秋招突击——8/21——知识补充——计算机网络——cookie、session和token

文章目录 引言正文Cookie——客户端存储和管理Session——服务端存储和管理Token补充签名和加密的区别常见的加密算法和签名算法 面试题1、HTTP用户后续的操作,服务端如何知道属于同一个用户?如果服务端是一个集群机器怎么办?2、如果禁用了Co…

【Python 千题 —— 基础篇】简易图书管理系统

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目描述 题目描述 编写一个面向对象的程序,模拟一个图书管理系统。要求定义一个 Book 类,具有基本的书籍信息功能;然后,创建一个 Library 类,用于管理多个 B…

Vue3搜索框(InputSearch)

效果如下图:在线预览 APIs InputSearch 参数说明类型默认值width搜索框宽度,单位 pxstring | number‘100%’icon搜索图标boolean | slottruesearch搜索按钮,默认时为搜索图标string | slotundefinedsearchProps设置搜索按钮的属性&#xf…

【Qt】容器类控件GroupBox

容器类控件GroupBox 使用QGroupBox实现一个带有标题的分组框,可以把其他的控件放在里面里面作为一组,这些内部的控件的父元素也就不是this了。 其目的只是为了让界面看起来更加好看,例如当一个界面比较复杂的时候,包含了很多的控…

APP封装安装配置参考说明

APP封装安装配置参考说明 一, 环境准备 宝塔环境 nginx php5.6 mysql5.6 java-openjdk1.8 apktool 1,安装 nginx,php,mysql自行安装 java-openjdk1.8 安装 推荐使用命令行安装 1.1 yum install java-1.8.0-openjdk1.2 yum install -y java-1.8.0-openjdk-devel1.3 设置…

Unity | 性能标准分析工具图形API简介

目录 一、相关术语 1.物理页 2.PSS内存 3.Reserved Total 二、耗时推荐值 三、内存推荐值 四、分析工具 1.Profiler (1)Profiler各平台对比 (2)构建到目标平台 (3)Frame数量修改 (4…

天宝TBCTrimble Business Center中文版本下载安装使用介绍

天宝TBC:测绘之道,尽在其中 引言 昔日杜甫,忧国忧民,今朝我辈,测绘天下。天宝TBC,乃测绘之利器,助我等行走于山川河流之间,绘制天地之图。此文将以杜甫之笔,述说TBC之妙…

【数据结构】栈(stack)

目录 栈的概念 栈的方法 栈的实现 数组实现 push方法 压栈 pop方法 出栈 peek方法 获取栈顶元素 size方法 获取有效元素个数 链表实现 结尾 完整代码 数组实现栈代码 双向链表实现栈代码 栈的概念 栈是一种特殊的线性表,只允许在 固定的一段 进行插入…

kafka发送消息-生产者发送消息的分区策略(消息发送到哪个分区中?是什么策略)

生产者发送消息的分区策略(消息发送到哪个分区中?是什么策略) 1、默认策略,程序自动计算并指定分区1.1、指定key,不指定分区1.2、不指定key,不指定分区 2、轮询分配策略RoundRobinPartitioner2.1、创建配置…

使用idea快速创建springbootWeb项目(springboot+springWeb+mybatis-Plus)

idea快速创建springbootWeb项目 详细步骤如下 1)创建项目 2)选择springboot版本 3)添加web依赖 4)添加Thymeleaf 5)添加lombok依赖 然后点击create进入下一步 双击pom.xml文件 6)添加mybatis-plus依赖 …

【系统分析师】-案例篇-数据库

1、分布式数据库 1)请用300字以内的文字简述分布式数据库跟集中式数据库相比的优点。 (1)坚固性好。由于分布式数据库系统在个别结点或个别通信链路发生故障的情况下,它仍然可以降低级别继续工作,系统的坚固性好&…

Ubuntu搭建FTP服务器

目录 1.ftp简介 2.vsftpd 2.1.介绍 2.2.安装与卸载 2.3.综合案例 - 本地用户模式 2.4.1.创建FTP用户 2.4.2.配置vsftpd 2.4.3.配置防火墙 1.ftp简介 一般来讲,人们将计算机联网的首要目的就是获取资料,而文件传输是一种非常重要的获取资料的方…

Docker 修改镜像源

由于docker hub 被禁,导致 docker 拉取镜像失败,解决办法就是使用国内的镜像源,目前国内的镜像源还是很多的,例如阿里云、腾讯云、华为云等等,下面演示一个更换成阿里云的步骤。 1. 阿里云获取加速地址 1.1 首先登录阿…