python制作散点动图

news2024/11/19 17:46:49

目录

  • 示例1:简单的散点图
  • 示例2:添加颜色和大小
  • 示例3:实时更新动图
  • 完整代码

本教程将介绍如何使用Python制作散点动图。我们将通过三个示例代码,从易到难,逐步说明如何使用Python绘制出散点动图。

示例1:简单的散点图

我们首先从一个简单的散点图开始。以下代码将生成一组随机数据,并使用散点图来可视化它们。

import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np

# 生成随机数据
np.random.seed(42)
x = np.random.rand(50)
y = np.random.rand(50)

# 绘制散点图
plt.scatter(x, y)

# 设置图表标题和轴标签
plt.title("Simple Scatter Plot")
plt.xlabel("X")
plt.ylabel("Y")

# 显示图表
plt.show()

运行以上代码,将看到一个带有50个随机散点的简单散点图:
请添加图片描述

示例2:添加颜色和大小

在第二个示例中,我们将展示如何根据数据的某些特性来自定义散点的颜色和大小。

# 生成随机数据
np.random.seed(42)
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)  # 随机生成颜色值
sizes = 100 * np.random.rand(50)  # 随机生成散点的大小

# 绘制散点图
plt.scatter(x, y, c=colors, s=sizes, alpha=0.7)

# 设置图表标题和轴标签
plt.title("Customized Scatter Plot")
plt.xlabel("X")
plt.ylabel("Y")

# 显示图表
plt.show()

在这个示例中,我们通过使用c参数来指定散点的颜色数组,使用s参数来指定散点的大小数组。我们还使用alpha参数来设置散点的透明度。
请添加图片描述

示例3:实时更新动图

最后,我们来创建一个实时更新的散点动图。以下代码将在每次迭代时生成随机数据,并动态更新散点图。

# 设置初始数据
x = np.random.rand(50)
y = np.random.rand(50)

# 创建图表对象
fig, ax = plt.subplots()

# 创建初始散点图
scatter = ax.scatter(x, y)

# 设置图表标题和轴标签
ax.set_title("Real-time Scatter Plot")
ax.set_xlabel("X")
ax.set_ylabel("Y")

# 更新数据并重新绘制图表
def update

请添加图片描述
因为上传的图片是png格式所以看不到动态效果,自己运行出来看到的是动态散点图效果。

完整代码

import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np

# 示例1:简单的散点图
np.random.seed(42)
x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y)
plt.title("Simple Scatter Plot")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

# 示例2:添加颜色和大小
np.random.seed(42)
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)
sizes = 100 * np.random.rand(50)
plt.scatter(x, y, c=colors, s=sizes, alpha=0.7)
plt.title("Customized Scatter Plot")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

# 示例3:实时更新动图
def update(frame):
    # 生成新的随机数据
    x = np.random.rand(50)
    y = np.random.rand(50)
    
    # 清除原有散点图
    ax.cla()
    
    # 绘制新的散点图
    scatter = ax.scatter(x, y)
    ax.set_title("Real-time Scatter Plot")
    ax.set_xlabel("X")
    ax.set_ylabel("Y")

fig, ax = plt.subplots()
ani = animation.FuncAnimation(fig, update, interval=100)
plt.show()

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

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

相关文章

图书馆客流人数统计分析系统方案

智慧客流人数统计分析系统可以帮助图书馆管理者更好地管理人群流量。系统能够自动统计区域内的人流量高峰期,并通过数据分析提供更加合理的管控,从而提区域内人群流动性,避免拥堵的情况。 AI客流视觉监控 客流量管控分析系统意义 讯鹏客流量管…

雪花算法生成ID

1.简介 SnowFlake 中文意思为雪花,故称为雪花算法。最早是 Twitter 公司在其内部用于分布式环境下生成唯一 ID。在2014年开源 scala 语言版本。 雪花算法的原理就是生成一个的 64 位比特位的 long 类型的唯一 id。 最高 1 位固定值 0,因为生成的 id 是…

Python的HTTP库及示例

13.3 HTTP库 HTTP(Hyper Text Transfer Protocol)是一个客户端和服务器端请求和应答的标准。客户端是终端用户,服务器端是网站。客户端发起一个到服务器上指定端口的HTTP请求,服务器向客户端发回一个状态行和响应的消息。 可以…

ICV: 2025年全球QKD产业规模有望达到25亿美元

近日,专注于量子、智能驾驶等前沿科技领域的国际咨询机构ICV发布了《全球量子安全通信产业研究报告》,报告主要内容包括量子安全通信的概念、量子密钥分发 (QKD)发展历程、QKD的优势、产业链、应用领域、QKD产业规模及预测、全球主要参与者。 量子安全通…

ubuntu18.04中PCL点云库依赖的安装以及PCL点云库和Eigen的卸载与安装

一、PCL点云库依赖的安装、遇到问题的解决方法 sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl sudo apt-get update sudo apt-get install libpcl-all 以上是官方给出的,但是会出很多报错,这里建议自己配置。 配置步骤&#xff…

【Android学习专题】安卓样式学习(学习内容记录)

学习记录内容来自《Android编程权威指南(第三版)》 样式调整和添加 调整颜色资源(res/values/colors.xml) 格式: 添加样式(res/values/styles.xml),(创建BeatBox项目时…

开源狂潮让巨头惨败!谷歌内部文件曝光:我们和OpenAI都没有护城河

因为开源,AI军备竞赛,谷歌和OpenAI全是输家? 来源丨新智元 重磅! 谷歌的一份名为《我们没有护城河,OpenAI也没有》的内部文件疑似被泄露, 今天早上,外媒SemiAnalysis公布了这份重磅炸弹泄露…

日撸 Java 三百行day45

文章目录 说明day45 冒泡排序1. 基本思路2.代码 说明 闵老师的文章链接: 日撸 Java 三百行(总述)_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护:https://github.com/fulisha-ok/sampledata day45 冒泡排序 …

IP地址技术原理

IP地址用于唯一地标识一个网络设备(如计算机、路由器等)在互联网或局域网中的位置。IP地址由32位二进制数表示,通常分为4个8位二进制数,每个数用点号隔开,如106.110.92.215。IP地址可用于数据传输、网络管理和安全控制…

Springboot +Flowable,服务任务ServiceTask执行的三种方式(一)

一.简介 ServiceTask 从名字上看就是服务任务,它的图标是像下面这样,截图如下: ServiceTask 一般由系统自动完成,当流程走到这一步的时候,不会自动停下来,而是会去执行我们提前在 ServiceTask 中配置好的…

托福高频真词List06 // 附阅读真题 14:26~15:12 // 15:12~16:12

目录 生词 熟词 阅读真题 生词 inducecausecause the formation of increasestimulate(导致) v 导致 inevitableunavoidable certainnecessary(不可避免地) adj 不可避免的accommodateallowv 顺应 modestreasonablesmall modera…

【Git 教程】—git指令详细解析,上机操作,简单易懂

目录 一. 集中式和分布式的区别 1. 集中式版本控制工具 2. 分布式版本控制工具 3. 基本概念 4. 配置信息 二. 创建本地仓库(git init) 三.基础指令 1. 获取git版本号 2.查看文件的状态 3. 查看提交记录 4. 版本回退 5. git reflog 6. .gitignore文件…

数据机房温湿度监控系统解决应用案例

机房温湿度监控系统之POE以太网温湿度传感器解决方案 物联网工业级高精度传感器 以太网智能RJ45温湿度传感器(POE12VDC供电型) 智 能 传 感 器 介 绍 目 录 一、关键词…………………………………………………………………………3 二、 产品概述…

51单片机 | DS18B20 温度传感器实验

系统设计 设计要求 (1) 主体电路包括晶振、复位、电源指示电路,预留程序下载接口; (2) 要求能够实现温度数值的自动显示,值根据实际温度变化自动变化。 (3) 并按照题目要求完成程序源码编写、调试及关键代码注释。 设计任务 使用给定硬件…

C++两个区间的比较?——STL之equal()算法和mismatch()算法

equal()算法 检验相等性 bool equal(InputIterator1 beg,InputIterator1 end,InputIterator2 cmpBeg)bool equal(InputIterator1 beg,InputIterator1 end,InputIterator2 cmpBeg,BinaryPredicate op) 第一形式判断区间…

mongodb命令使用

查询副本集当前状况(需要将命令行切换到需要查询的副本集中) rs.status() 查询数据库当前情况 sh.status() 查询数据分片情况 db.集合名称.getShardDistribution() 查看集合当前情况 db.集合名称.stats() 查看集合是否开启分片 db.集合名称.stats().sharded 查看mong…

Python网络编程(一)——了解IP和端口的基础知识以及socket的简单实现

系列文章目录 Python网络编程(一)——了解IP和端口的基础知识以及socket的简单实现 了解IP和端口的基础知识以及socket的简单实现 系列文章目录前言获取本机设备名和IP获取远程设备的IP地址将IPv4地址转换成以十六进制形式表示二进制数据获取端口的服务…

数据结构 -- 共用体Union

在数据结构 -- 结构体Struct一文中详细介绍了结构体的定义以及内存对齐。在C语言中,还有另外一种和结构体非常类似的语法,叫做共用体(Union),也称为联合体。它的定义格式为: union 共用体名{成员列表 };1. …

【CVPR红外小目标检测】红外小目标检测中的非对称上下文调制(ACM)

论文题目: Asymmetric Contextual Modulation for Infrared Small Target Detection 红外小目标检测中的非对称上下文调制 红外小目标数据集 目标个数分布:约90%图片中只有一个目标,约10%图片有多个目标(在稀疏/显著的方法中&am…

网文助手。

网文助手 简述 网文助手,免费高质量小说资料网站,支持笔记本和手机端,主要有以下功能。 随机生成小说男女姓名,和尊称随机生成地域和势力名称随机生成功法秘籍、招式战技、法宝兵器、丹药和阵法随机生成妖兽、凶地、天材地宝随…