python散点图animation_如何设置散点图的动画?
假设你有一个散点图,scat = ax.scatter(...),那么你可以更改位置scat.set_offsets(array)
其中array是x和y坐标的N x 2形数组。
更改大小scat.set_sizes(array)
其中array是以点为单位的一维大小数组。
更改颜色scat.set_array(array)
其中array是将进行颜色映射的一维值数组。
下面是一个使用animation module的快速示例。
它比必须的要稍微复杂一些,但是这应该给你一个框架来做更漂亮的事情。
(代码于2019年4月编辑,与当前版本兼容。有关旧代码,请参见revision historyimport matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
class AnimatedScatter(object):
"""An animated scatter plot using matplotlib.animations.FuncAnimation."""
def __init__(self, numpoints=50):
self.numpoints = numpoints
self.stream = self.data_stream()
# Setup the figure and axes...
self.fig, self.ax = plt.subplots()
# Then setup FuncAnimation.
self.ani = animation.FuncAnimation(self.fig, self.update, interval=5,
init_func=self.setup_plot, blit=True)
def setup_plot(self):
"""Initial drawing of the scatter plot."""
x, y, s, c = next(self.stream).T
self.scat = self.ax.scatter(x, y, c=c, s=s, vmin=0, vmax=1,
cmap="jet", edgecolor="k")
self.ax.axis([-10, 10, -10, 10])
# For FuncAnimation's sake, we need to return the artist we'll be using
# Note that it expects a sequence of artists, thus the trailing comma.
return self.scat,
def data_stream(self):
"""Generate a random walk (brownian motion). Data is scaled to produce
a soft "flickering" effect."""
xy = (np.random.random((self.numpoints, 2))-0.5)*10
s, c = np.random.random((self.numpoints, 2)).T
while True:
xy += 0.03 * (np.random.random((self.numpoints, 2)) - 0.5)
s += 0.05 * (np.random.random(self.numpoints) - 0.5)
c += 0.02 * (np.random.random(self.numpoints) - 0.5)
yield np.c_[xy[:,0], xy[:,1], s, c]
def update(self, i):
"""Update the scatter plot."""
data = next(self.stream)
# Set x and y data...
self.scat.set_offsets(data[:, :2])
# Set sizes...
self.scat.set_sizes(300 * abs(data[:, 2])**1.5 + 100)
# Set colors..
self.scat.set_array(data[:, 3])
# We need to return the updated artist for FuncAnimation to draw..
# Note that it expects a sequence of artists, thus the trailing comma.
return self.scat,
if __name__ == '__main__':
a = AnimatedScatter()
plt.show()
如果您在OSX上并使用OSX后端,则需要在下面的FuncAnimation初始化中将blit=True更改为blit=False。OSX后端不完全支持blitting。性能将受到影响,但示例应该在禁用了blitting的OSX上正确运行。
对于只更新颜色的简单示例,请查看以下内容:import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation
def main():
numframes = 100
numpoints = 10
color_data = np.random.random((numframes, numpoints))
x, y, c = np.random.random((3, numpoints))
fig = plt.figure()
scat = plt.scatter(x, y, c=c, s=100)
ani = animation.FuncAnimation(fig, update_plot, frames=xrange(numframes),
fargs=(color_data, scat))
plt.show()
def update_plot(i, data, scat):
scat.set_array(data[i])
return scat,
main()
python散点图animation_如何设置散点图的动画?相关推荐
- python读取excel画散点图-python学习之matplotlib绘制散点图实例
要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...
- python画散点图类型-python学习之matplotlib绘制散点图实例
要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...
- python画散点图-从零开始学Python【15】--matplotlib(散点图)
原标题:从零开始学Python[15]--matplotlib(散点图) 往期matplotlib绘图系列前言 上一期中,我们通过折线图可以快速的发现时间序列的趋势图,当然他不仅仅只能用在时间序列中, ...
- python画散点图-python学习之matplotlib绘制散点图实例
要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...
- [Python] 散点图(二维散点图、三维散点图、散点图矩阵)
目录 1 两主特征:二维散点图 1.1 二维散点图 1.2 二维分类散点图 1.3 气泡图 2 三主特征:三维散点图 2.1 三维散点图 2.2 三维分类散点图 3 多主特征:二维散点图矩阵 3.1 ...
- python简单代码画曲线图教程-Python绘制折线图和散点图的详细方法介绍(代码示例)...
本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...
- python画折线图代码-Python绘制折线图和散点图的详细方法介绍(代码示例)
本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...
- python中的散点图代码-python – 带有图例的matplotlib散点图
我有兴趣在我的散点图中绘制一个图例.我目前的代码看起来像这样 x=[1,2,3,4] y=[5,6,7,8] classes = [2,4,4,2] plt.scatter(x, y, c=class ...
- python界面散点图_Python数据可视化——散点图
PS: 翻了翻草稿箱, 发现居然存了一篇去年2月的文章...虽然naive,还是发出来吧... 本文记录了python中的数据可视化--散点图scatter, 令x作为数据(50个点,每个30维),我 ...
最新文章
- 【HDU - 3746 】Cyclic Nacklace (KMP,最小循环节问题)
- “1天一朵云”,这是如何做到的?
- 2017年对口招生c语言及答案,2017年计算机专业对口考试试卷及答案.doc
- AI学习笔记(十)卷积神经网络
- 变长编码中前缀码的概念
- jquery focus() 手机端无效
- spring和mybatis整合代码
- 遇到问题---hosts不起作用问题的解决方法
- 基于FPGA的SD卡音乐播放器之SD卡篇
- zint.dll 二维码、条形码库的获取及简单使用
- 单片机微型计算机原理及接口技术,单片机微型计算机原理及接口技术课后习题答案第4章.docx...
- 人脸识别、二维码电子签到,让会议会展入场更加智能!
- Vue组件:做一个表情输入键盘
- 计算机冷门知识大全集,阴阳师冷门小知识汇总 冷门小知识合集一览
- viewers.js 图片查看插件使用说明-vue中引用
- 九月开始复习计算机考研,2019计算机考研复习不要盲目开始
- 批量提取微软必应图片
- html5移动端点击复制,H5实现移动端复制文字功能
- 未连接:有潜在的安全问题Firefox 检测到潜在的安全威胁,并因 github.com 要求安全连接而没有继续。
- 使用原始套接字Raw Socket实现数据包嗅探
热门文章
- 算法导论:快速找出无序数组中第k小的数
- 如何保持 Photoshop 处于最新状态
- 实训二十三:交换机扩展 ACL 配置
- 20 kubeadm高可用部署1.23以上k8s版本
- 晶振为什么要加电容_需要配多大电容
- Python缺失值的处理
- Barsetto百胜图咖啡进驻园区
- Blackmagic Fusion Studio 17 for Mac(影视后期特效合成软件)需要 macOS 11.x系统内附安装教程
- android 陀螺仪 加速度定位,Android陀螺仪版加速度计
- 使用linux命令上传文件,Linux中常用文件传输命令及使用方法