【数据可视化01】matplotlib实例介绍2

目录

  • 一、引言
  • 二、实例介绍
      • 1.箱线图
      • 2.热力图
      • 3.3D图

一、引言

接着上一文章【数据可视化01】matplotlib实例介绍1继续介绍matplotlib的实例。

二、实例介绍

  在matplotlib中,常用的图形类型包括:

  1. 箱线图(Box plot):用于展示连续变量的分布情况、异常值和离群点。
  2. 热力图(Heatmap):用于展示两个类别型变量之间的关系,通过颜色深浅来表示不同数值的大小。
  3. 3D图(3D plot):用于展示三维数据的分布情况,可以通过不同颜色或形状来表示不同数值或类别。

  下面介绍集中常用的图形绘制方法。

1.箱线图

  该图说明了如何创建两种类型的框图(矩形和缺口),以及如何通过访问框图的艺术家的属性来使用自定义颜色填充它们。此外,labels参数用于为每个样本提供x-tick标签。。

import matplotlib.pyplot as plt
import numpy as np# Random test data
np.random.seed(19680801)
all_data = [np.random.normal(0, std, size=100) for std in range(1, 4)]
labels = ['x1', 'x2', 'x3']fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(9, 4))# rectangular box plot
bplot1 = ax1.boxplot(all_data,vert=True,  # vertical box alignmentpatch_artist=True,  # fill with colorlabels=labels)  # will be used to label x-ticks
ax1.set_title('Rectangular box plot')# notch shape box plot
bplot2 = ax2.boxplot(all_data,notch=True,  # notch shapevert=True,  # vertical box alignmentpatch_artist=True,  # fill with colorlabels=labels)  # will be used to label x-ticks
ax2.set_title('Notched box plot')# fill with colors
colors = ['pink', 'lightblue', 'lightgreen']
for bplot in (bplot1, bplot2):for patch, color in zip(bplot['boxes'], colors):patch.set_facecolor(color)# adding horizontal grid lines
for ax in [ax1, ax2]:ax.yaxis.grid(True)ax.set_xlabel('Three separate samples')ax.set_ylabel('Observed values')plt.show()

在这里插入图片描述

2.热力图

  通常需要将依赖于两个独立变量的数据显示为彩色编码图像图。这通常被称为热图。如果数据是分类的,则称为分类热图。Matplotlib的imshow函数使得生成这样的图特别容易。下面的示例展示了如何创建带有注释的热图。我们将从一个简单的示例开始,并将其扩展为可用的通用函数。

import matplotlib.pyplot as plt
import numpy as npimport matplotlib
import matplotlib as mplvegetables = ["cucumber", "tomato", "lettuce", "asparagus","potato", "wheat", "barley"]
farmers = ["Farmer Joe", "Upland Bros.", "Smith Gardening","Agrifun", "Organiculture", "BioGoods Ltd.", "Cornylee Corp."]harvest = np.array([[0.8, 2.4, 2.5, 3.9, 0.0, 4.0, 0.0],[2.4, 0.0, 4.0, 1.0, 2.7, 0.0, 0.0],[1.1, 2.4, 0.8, 4.3, 1.9, 4.4, 0.0],[0.6, 0.0, 0.3, 0.0, 3.1, 0.0, 0.0],[0.7, 1.7, 0.6, 2.6, 2.2, 6.2, 0.0],[1.3, 1.2, 0.0, 0.0, 0.0, 3.2, 5.1],[0.1, 2.0, 0.0, 1.4, 0.0, 1.9, 6.3]])fig, ax = plt.subplots()
im = ax.imshow(harvest)# Show all ticks and label them with the respective list entries
ax.set_xticks(np.arange(len(farmers)), labels=farmers)
ax.set_yticks(np.arange(len(vegetables)), labels=vegetables)# Rotate the tick labels and set their alignment.
plt.setp(ax.get_xticklabels(), rotation=45, ha="right",rotation_mode="anchor")# Loop over data dimensions and create text annotations.
for i in range(len(vegetables)):for j in range(len(farmers)):text = ax.text(j, i, harvest[i, j],ha="center", va="center", color="w")ax.set_title("Harvest of local farmers (in tons/year)")
fig.tight_layout()
plt.show()

在这里插入图片描述

3.3D图

  演示一个基本的3D散点图。

import matplotlib.pyplot as plt
import numpy as np# Fixing random state for reproducibility
np.random.seed(19680801)def randrange(n, vmin, vmax):"""Helper function to make an array of random numbers having shape (n, )with each number distributed Uniform(vmin, vmax)."""return (vmax - vmin)*np.random.rand(n) + vminfig = plt.figure()
ax = fig.add_subplot(projection='3d')n = 100# For each set of style and range settings, plot n random points in the box
# defined by x in [23, 32], y in [0, 100], z in [zlow, zhigh].
for m, zlow, zhigh in [('o', -50, -25), ('^', -30, -5)]:xs = randrange(n, 23, 32)ys = randrange(n, 0, 100)zs = randrange(n, zlow, zhigh)ax.scatter(xs, ys, zs, marker=m)ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')plt.show()

在这里插入图片描述
E N D ! \color{#4285f4}{\mathbf{E}}\color{#ea4335}{\mathbf{N}}\color{#fbbc05}{\mathbf{D}}\color{#4285f4}{\mathbf{!}} END!

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

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

相关文章

算法day05

第一题 1004. 最大连续1的个数 III 题目如下所示: 如上题所示: 题目本意是在一个数组中只有1和0,给定一个k值,将小于k个0翻转成1,然后返回最终得到最长的1的个数; 我们将这到题的意思转化为另外一种意思&…

单元测试之TestNG知识点总结及代码示例

TestNG 是一个测试框架,用于自动化测试 Java 和 Scala 应用程序,它是 JUnit 和 NUnit 的一个强大替代品。TestNG 支持数据驱动测试、参数化测试、测试套件、依赖管理、多线程测试等特性。TestNG官网:TestNG Documentation 目录 1.TestNG 基…

PCB笔记(二十六):PCB检查

前言 首先检查元器件是否100% 放置 文章目录 1、打开DRC2、database check3、检查DRC4、检查多余的线5、其他需要注意的点a.检查差分线、等长线是否已调好b.注意检查晶振、电感等元件上/下方是否其他线经过(一般不允许线经过)c.打开place_bo…

【管理咨询宝藏101】普华永道并购尽调内部培训

【管理咨询宝藏101】普华永道并购尽调内部培训 【格式】PDF版本 【关键词】普华永道、兼并收购、尽职调查 【核心观点】 - 尽职调查的目的,发现潜在的致命缺陷,判断是否继续交易进程;发现潜在的问题,制定交易前后相应的应对措施。…

C语言 | Leetcode C语言题解之第88题合并两个有序数组

题目: 题解: void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {int p1 m - 1, p2 n - 1;int tail m n - 1;int cur;while (p1 > 0 || p2 > 0) {if (p1 -1) {cur nums2[p2--];} else if (p2 -1) {cur nu…

Kali Linux菜单中各工具功能大全

网络安全学习路线 (2024最新整理) 如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言扣1或者关注我我后台会主动发给你! 第一阶段:安全基础 网络安全行业与法规 Linux操作系统 计算机网络 HTML PHP Mysql P…

【董晓算法】竞赛常用知识之字符串2

前言: 本系列是学习了董晓老师所讲的知识点做的笔记 董晓算法的个人空间-董晓算法个人主页-哔哩哔哩视频 (bilibili.com) 动态规划系列(还没学完) 【董晓算法】动态规划之线性DP问题-CSDN博客 【董晓算法】动态规划之背包DP问题&#xff…

用Rust打印杨辉三角

一、杨辉三角是什么? 杨辉三角是一个著名的数学图形,它展示了二项式系数的排列方式。 杨辉三角是一种将二项式系数以三角形阵列排列的数学图形,具有丰富的历史和数学意义。 杨辉三角的历史起源可以追溯到中国南宋时期,由数学家杨辉…

极端天气对气膜建筑有什么影响吗—轻空间

气膜建筑在近年来的发展迅速,逐渐替代了一部分传统建筑,展现了良好的市场前景。然而,面对自然环境中的极端天气,如暴风、暴雨和暴雪,气膜建筑是否能够经受住考验是大家关注的焦点。轻空间带您探讨一下这些极端天气对气…

探究NVMe SSD HMB应用场景与影响-<续>

如果需要采用HMB功能,需要SSD支持NVME协议且NVMe 1.2及以上版本。NVME协议中对HMB对应有2个关键参数: HMB建议值(HMPRE):设定实际分配给HMB使用的主机内存容量,为设备提供最优性能的内存分配量。 HMB最小值…

双星号(**)和单星号(*)在Python参数传递中的妙用

在Python中,参数传递是一个非常重要的概念,它允许函数接收任意数量的参数。而双星号(**)和单星号(*)在参数传递中扮演着关键角色。本文将详细讲解这两个符号的用法,并通过示例代码帮助初学者理解它们的工作原理。 单星号(*) 单星号(*)用于函…

EPS软件标注点坐标值

1、如下,点击右侧(尺寸标注)按钮: 2、弹出一个对话框,如下: 3、在上图对话框中设置好箭头样式和小数位数,然后点击图上一点,右击结束再鼠标指定位置,如下: 如…

CV每日论文--2024.5.10

1、Attention-Driven Training-Free Efficiency Enhancement of Diffusion Models 中文标题:扩散模型的注意力驱动的训练免费效率增强 简介:扩散模型在生成高质量和多样化图像方面取得了出色的表现,但其卓越性能是以昂贵的架构设计为代价的,特别是广泛使…

数据库——SQL SERVER(先学删库跑路)

目录 一:什么是数据库 二:为什么需要数据库 三:数据库的安装 四:学前必备知识 1. 数据库原理 2. 数据库与编程语言 3. 数据库与数据结构的区别 4. 连接 5. 有了编程语言为啥还要数据库 6. 初学者学习数据库的三个方面 …

高校推免报名|基于SSM+vue的高校推免报名系统的设计与实现(源码+数据库+文档)

高校推免报名 目录 基于SSM+vue的高校推免报名的设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2后台登录模块 5.2.1管理员功能模块 5.2.2考生功能模版 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八…

【学习笔记】人群归因分数 PAF 以及combined PAF(更新)

在此推荐2篇发表在lancet以及jama子刊上的paf文章,这两篇文章套路是一样的,只是在不同国家进行。 在计算combined PAF或者说weighted PAF的时候,先建立了相关矩阵,再做主成分分析,得到communality。详细信息大家可翻阅…

el-calendar自定义日程,显示文字内容,el-date-picker和el-calendar互动互联

Vue实现 el-calendar自定义日程,显示文字内容,el-date-picker和el-calendar互动互联 效果展示 首先el-calendar需要自定义日程内容的话,其格式一般必须满足如下结构 dataList = [{date: 2024-05-08, content: "数学模拟试卷(3)"},{date: 2024-05-08, content: …

【STM32 |程序实例】按键控制、光敏传感器控制蜂鸣器

目录 前言 按键控制LED 光敏传感器控制蜂鸣器 前言 上拉输入:若GPIO引脚配置为上拉输入模式,在默认情况下(GPIO引脚无输入),读取的GPIO引脚数据为1,即高电平。 下拉输入:若GPIO引脚配置为下…

C语言(指针)6

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

深度学习之神经网络理论基础

深度学习之神经网络理论基础 人工神经元 人工神经元:人类神经元中抽象出来的数学模型 MP模型 mp模型:1943年心理学家W.S.McCulloch和数理逻辑学家W.Pitts研究出人工神经元,称为M-P模型。 M-P神经元(一个用来模拟生物行为的数学模…