数据分析必备:一步步教你如何用matplotlib做数据可视化(10)
1、Matplotlib 二维箭头图
箭头图将速度矢量显示为箭头,其中分量(u,v)位于点(x,y)。
quiver(x,y,u,v)
上述命令将矢量绘制为在x和y中每个对应元素对中指定的坐标处的箭头。
参数
下表列出了quiver()函数的参数 -
x - 1D或2D阵列,序列。箭头位置的x坐标
y - 1D或2D阵列,序列。箭头位置的y坐标
u - 1D或2D阵列,序列。箭头矢量的x分量
v - 1D或2D阵列,序列。箭头矢量的y分量
c - 1D或2D阵列,序列。箭头位置的x坐标
以下代码绘制了一个简单的箭袋图
import matplotlib.pyplot as plt
import numpy as np
import math
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
plt.rcParams['axes.unicode_minus'] = False # 原文出自【立地货】,商业转载请联系作者获得授权,非商业请保留原文链接:
x,y = np.meshgrid(np.arange(-2, 2, .2), np.arange(-2, 2, .25))
z = x*np.exp(-x**2 - y**2)
v, u = np.gradient(z, .2, .2)
fig, ax = plt.subplots()
q = ax.quiver(x,y,u,v)
plt.show()
执行上面示例代码,得到以下结果

2、Matplotlib 箱线图
箱形图也称为须状图,显示包含最小值,第一四分位数,中位数,第三四分位数和最大值的一组数据的摘要。在方块图中,绘制从第一个四分位数到第三个四分位数的方框。垂直线穿过中间的框。须状从每个四分位数到最小值或最大值。
执行代码结果
让我们为箱形图创建数据。使用numpy.random.normal()函数来创建虚假数据。它需要三个参数,正态分布的均值和标准差,以及所需的值的数量。
np.random.seed(10)
collectn_1 = np.random.normal(100, 10, 200)
collectn_2 = np.random.normal(80, 30, 200)
collectn_3 = np.random.normal(90, 20, 200)
collectn_4 = np.random.normal(70, 25, 200)
上面创建的数组列表是创建boxplot所需的唯一输入。使用data_to_plot代码行,可以使用以下代码创建boxplot
fig = plt.figure()
#创建轴实例
ax = fig.add_axes([0,0,1,1])
#创建箱线图
bp = ax.boxplot(data_to_plot)
plt.show()
执行上面的代码行将生成以下输出

3、Matplotlib 小提琴图
小提琴图类似于箱形图,除了它们还显示不同值的数据的概率密度。这些图包括数据中位数的标记和表示四分位数范围的框,如标准框图中所示。在该箱图上叠加的是核密度估计。与箱形图一样,小提琴图用于表示跨不同“类别”的可变分布(或样本分布)的比较。
小提琴图形比普通图形更具信息性。事实上,虽然箱形图仅显示平均值/中位数和四分位数范围等汇总统计量,但小提琴图显示了数据的完整分布。
import matplotlib.pyplot as plt
np.random.seed(10)
collectn_1 = np.random.normal(100, 10, 200)
collectn_2 = np.random.normal(80, 30, 200)
collectn_3 = np.random.normal(90, 20, 200)
collectn_4 = np.random.normal(70, 25, 200)
##将这些不同的集合合并到一个列表中
data_to_plot = [collectn_1, collectn_2, collectn_3, collectn_4]
#创建一个图形实例
fig = plt.figure()
#创建轴实例
ax = fig.add_axes([0,0,1,1])
#创建箱线图
bp = ax.violinplot(data_to_plot)
plt.show()
执行上面示例代码,得到以下结果

相关文章:
数据分析必备:一步步教你如何用matplotlib做数据可视化(10)
1、Matplotlib 二维箭头图 箭头图将速度矢量显示为箭头,其中分量(u,v)位于点(x,y)。 quiver(x,y,u,v)上述命令将矢量绘制为在x和y中每个对应元素对中指定的坐标处的箭头。 参数 下表列出了quiver()函数的参数 - x - 1D或2D阵列,…...
Stable Diffusion部署教程,开启你的AI绘图之路
本文环境 系统:Ubuntu 20.04 64位 内存:32G 环境安装 2.1 安装GPU驱动 在英伟达官网根据显卡型号、操作系统、CUDA等查询驱动版本。官网查询链接https://www.nvidia.com/Download/index.aspx?langen-us 注意这里的CUDA版本,如未安装CUD…...
三生随记——诡异的牙线
在小镇的角落,坐落着一间古老的牙医诊所。这所诊所早已荒废多年,窗户上爬满了藤蔓,门板上的油漆斑驳脱落,仿佛诉说着无尽的沉寂与孤独。然而,在午夜时分,偶尔会有低沉的呻吟声从紧闭的诊所里传出࿰…...
批量重命名神器揭秘:一键实现文件夹随机命名,自定义长度轻松搞定!
在数字化时代,我们经常需要管理大量的文件夹,尤其是对于那些需要频繁更改或整理的文件来说,给它们进行批量重命名可以大大提高工作效率。然而,传统的重命名方法既繁琐又耗时,无法满足高效工作的需求。今天,…...
学习笔记——路由网络基础——路由转发
六、路由转发 1、最长匹配原则 最长匹配原则 是支持IP路由的设备默认的路由查找方式(事实上几乎所有支持IP路由的设备都是这种查找方式)。当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的表项进行逐位(Bit-By-Bit)的逐位查找,…...
Python网络安全项目开发实战,如何防命令注入
注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程: Python网络安全项目开发实战_防命令注入_编程案例解析实例详解课程教程.pdf 在Python网络安全项目开发中,防止命令注入(Command Injection)是一项…...
程序员如何高效读代码?
程序员高效读代码的技巧包括以下几点: 明确阅读目的:在开始阅读代码之前,先明确你的阅读目的。是为了理解整个系统的架构?还是为了修复一个具体的bug?或者是为了了解某个功能是如何实现的?明确目的可以帮助…...
全面分析一下前端框架Angular的来龙去脉,分析angular的技术要点和难点,以及详细的语法和使用规则,底层原理-小白进阶之路
Angular 前端框架全面分析 Angular 是一个由 Google 维护的开源前端框架。它最早在 2010 年发布,最初版本称为 AngularJS。2016 年,团队发布了一个完全重写的版本,称为 Angular 2,之后的版本(如 Angular 4、Angular 5…...
VACUUM 剖析
VACUUM 剖析 为什么需要 Vacuum MVCC MVCC:Multi-Version Concurrency Control,即多版本并发控制。 PostgreSQL 使用多版本并发控制(MVCC)来支持高并发的事务处理,同时保持数据的一致性和隔离性。MVCC 是一种用于管…...
基于LangChain框架搭建知识库
基于LangChain框架搭建知识库 说明流程1.数据加载2.数据清洗3.数据切分4.获取向量5.向量库保存到本地6.向量搜索7.汇总调用 说明 本文使用openai提供的embedding模型作为框架基础模型,知识库的搭建目的就是为了让大模型减少幻觉出现,实现起来也很简单&a…...
LeetCode 1789, 6, 138
目录 1789. 员工的直属部门题目链接表要求知识点思路代码 6. Z 字形变换题目链接标签思路代码 138. 随机链表的复制题目链接标签思路代码 1789. 员工的直属部门 题目链接 1789. 员工的直属部门 表 表Employee的字段为employee_id,department_id和primary_flag。…...
Redis部署模式全解析:单点、主从、哨兵与集群
Redis是一个高性能的键值存储系统,以其丰富的数据结构和优异的读写性能而闻名。在实际应用中,根据业务需求的不同,Redis可以部署在多种模式下。本文将详细介绍Redis的四种主要部署模式:单点模式、主从复制模式、哨兵模式以及集群模…...
python-docx顺序读取word内容
来源How to use Python iteration to read paragraphs, tables and pictures in word? Issue #650 python-openxml/python-docx (github.com) from docx import Document from docx.oxml.ns import qndef iter_block_items(parent):"""生成 paren…...
kafka 集群原理设计和实现概述(一)
kafka 集群原理设计和实现概述(一) Kafka 集群的设计原理是为了实现高可用性、高吞吐量、容错性和可扩展性。以下是 Kafka 集群的设计原 理及其实现方法: 1. 分布式架构设计 Kafka 采用分布式架构,集群中的多个 Broker 共同工作,负责接收、存储和传递消息。通过将数据分布…...
three.js 第十一节 - uv坐标
// ts-nocheck // 引入three.js import * as THREE from three // 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls // 导入lil.gui import { GUI } from three/examples/jsm/libs/lil-gui.module.min.js // 导入tween import * as T…...
git从master分支创建分支
1. 切换到主分支或你想从哪里创建新分支 git checkout master 2. 创建并切换到新的本地分支 develop git checkout -b develop 3. 将新分支推送到远程存储库 git push origin develop 4. 设置本地 develop 分支跟踪远程 develop 分支 git branch --set-upstream-toorigi…...
Chromium 调试指南2024 Mac篇 - 准备工作 (一)
1.引言 Chromium是一个由Google主导开发的开源浏览器项目,它为Google Chrome浏览器提供了基础框架。Chromium不仅是研究和开发现代浏览器技术的重要平台,还为众多其他基于Chromium的浏览器(如Microsoft Edge、Brave等)提供了基础…...
vue登陆密码加密,java后端解密
前端 安装crypto-js npm install crypto-js加密 //引入crypto-js import CryptoJS from crypto-js;/** ---密码加密 start--- */ const SECRET_KEY CryptoJS.enc.Utf8.parse("a15q8f6s5s1a2v3s"); const SECRET_IV CryptoJS.enc.Utf8.parse("a3c6g5h4v9sss…...
npm 安装踩坑
1 网络正常,但是以前的老项目安装依赖一直卡住无法安装?哪怕切换成淘宝镜像 解决办法:切换成yarn (1) npm i yarn -g(2) yarn init(3) yarn install在安装的过程中发现: [2/4] Fetching packages... error marked11.1.0:…...
内容安全复习 6 - 白帽子安全漏洞挖掘披露的法律风险
文章目录 安全漏洞的法律概念界定安全漏洞特征白帽子安全漏洞挖掘面临的法律风险“白帽子”安全漏洞挖掘的风险根源“白帽子”的主体边界授权行为边界关键结论 安全漏洞的法律概念界定 可以被利用来破坏所在系统的网络或信息安全的缺陷或错误;被利用的网络缺陷、错…...
Pixel Aurora Engine 赋能内容运营:社交媒体图文批量创作方案
Pixel Aurora Engine 赋能内容运营:社交媒体图文批量创作方案 1. 新媒体运营的配图痛点 每天打开电脑,新媒体运营小李都要面对同样的挑战:今天发什么图?从封面到内文配图,再到各种节日节气海报,原创设计根…...
OpenClaw版本升级:Qwen3-4B兼容性测试与迁移方案
OpenClaw版本升级:Qwen3-4B兼容性测试与迁移方案 1. 升级前的准备工作 上周五晚上,当我准备给团队演示OpenClaw的自动化流程时,突然发现控制台弹出了版本更新提示。这个看似简单的升级通知,却让我经历了整整两天的兼容性调试。今…...
rk3576(5)之设备树下GPIO驱动
1、简介rk3576buildroot设备树GPIO驱动编写。个人理解设备树就相当于存在统一规则、统一管理的头文件,记录了开发板的设备信息。2、设备树语法2.1、dtsi 头文件设备树也支持头文件,设备树的头文件扩展名为.dtsi设备树文件不仅可以应用 C 语言里面的.h 头…...
STM32电位器驱动库:轻量级ADC封装与中值滤波实现
1. 项目概述MentorBit-Potenciometro 是一款专为 MentorBit 系统设计的轻量级电位器(Potentiometer)模块驱动库,面向 STM32 平台(典型为 STM32F4/F7/H7 系列)的嵌入式固件开发。该库并非通用 ADC 抽象层,而…...
Arduino嵌入式轻量日志库SimpleLogger设计与实践
1. 项目概述SimpleLogger 是一款专为 Arduino 平台设计的轻量级日志库,其核心设计哲学是“极简可用、零侵入、低资源占用”。在资源受限的微控制器(如 ATmega328P、ESP32-S2、nRF52840 等)上,传统日志框架(如 ArduinoL…...
SEO的黑帽和白帽技术分别是什么_如何查询网站的SEO指标和排名数据
SEO的黑帽和白帽技术分别是什么_如何查询网站的SEO指标和排名数据 在当今的互联网时代,搜索引擎优化(SEO)是提升网站流量和可见度的关键。SEO有许多技术和方法,其中包括白帽技术和黑帽技术。了解这些技术不仅有助于提升网站的搜索…...
Linux内核交互图解析与实战应用
1. Linux内核全景图:一图胜千言的深度解析作为一名在嵌入式领域摸爬滚打十年的老手,我深知Linux内核的学习曲线有多陡峭。记得第一次看内核源码时,面对数百万行代码和错综复杂的子系统交互,那种无力感至今难忘。直到后来遇到这张L…...
大模型解决方案专家,火山方舟:用大模型赋能企业,成本、效果、落地难题一网打尽!
火山方舟作为大模型解决方案专家,依托豆包大模型家族及智能模型路由等技术,打造企业级服务平台。核心价值在于解决模型效果、推理成本、落地难度三大挑战。提供更强模型能力、更低成本推理、更易落地应用三大解决方案,助力企业高效落地AI应用…...
收藏!小白程序员必看:轻松入门大模型核心概念MCP与Skill,解锁AI能力新姿势!
本文通过生活化比喻,深入浅出地解释了AI领域中的MCP和Skill两大核心概念。MCP如同AI世界的“USB接口”,是标准化的连接协议,让AI能调用外部工具;Skill则像“工作手册”,是工作规范/技能模板,告诉AI在不同场…...
Sammy.js部署与运维:生产环境配置、性能监控与故障排查终极指南
Sammy.js部署与运维:生产环境配置、性能监控与故障排查终极指南 【免费下载链接】sammy Sammy is a tiny javascript framework built on top of jQuery, Its RESTful Evented Javascript. 项目地址: https://gitcode.com/gh_mirrors/sa/sammy Sammy.js是一个…...
