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

数据分析必备:一步步教你如何用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()

执行上面示例代码,得到以下结果
在这里插入图片描述

相关文章:

  • 【Redis】Redis内存使用优化方法
  • 浙大宁波理工学院2024年成人高等继续教育招生简章
  • 搜狐视频全自动工具
  • 自动驾驶---Perception之视觉点云雷达点云
  • [保姆级教程]uniapp自定义导航栏
  • 【html】用html+css模拟Windows右击菜单
  • 【JS重点15】原型对象概述
  • C语言| 数组元素的删除
  • 四川汇聚荣科技有限公司靠谱吗?
  • 基于51单片机数字频率计的设计资料
  • Stable Diffusion初体验——基于机器学习通过神经网络的强大AI平台
  • 自制HTML5游戏《贪吃蛇》
  • 【无需任何插件】将VOS录音文件REC转MP3,REC转WAV或MP3的具体流程
  • win10 安装openssl并使用openssl创建自签名证书
  • python flask配置邮箱发送功能,使用flask_mail模块
  • CSS实用技巧
  •  D - 粉碎叛乱F - 其他起义
  • Docker容器管理
  • Fabric架构演变之路
  • Git的一些常用操作
  • HTTP请求重发
  • Js基础——数据类型之Null和Undefined
  • Laravel 菜鸟晋级之路
  • node 版本过低
  • sessionStorage和localStorage
  • springboot_database项目介绍
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Yii源码解读-服务定位器(Service Locator)
  • 从零开始的无人驾驶 1
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 码农张的Bug人生 - 初来乍到
  • 配置 PM2 实现代码自动发布
  • 数据科学 第 3 章 11 字符串处理
  • kubernetes资源对象--ingress
  • 阿里云移动端播放器高级功能介绍
  • ‌内网穿透技术‌总结
  • #Datawhale X 李宏毅苹果书 AI夏令营#3.13.2局部极小值与鞍点批量和动量
  • (1)Hilt的基本概念和使用
  • (55)MOS管专题--->(10)MOS管的封装
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (学习日记)2024.01.09
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • (轉貼) UML中文FAQ (OO) (UML)
  • .NET Core中Emit的使用
  • .net framework 4.0中如何 输出 form 的name属性。
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装