假设你有一个散点图,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_如何设置散点图的动画?相关推荐

  1. python读取excel画散点图-python学习之matplotlib绘制散点图实例

    要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...

  2. python画散点图类型-python学习之matplotlib绘制散点图实例

    要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...

  3. python画散点图-从零开始学Python【15】--matplotlib(散点图)

    原标题:从零开始学Python[15]--matplotlib(散点图) 往期matplotlib绘图系列前言 上一期中,我们通过折线图可以快速的发现时间序列的趋势图,当然他不仅仅只能用在时间序列中, ...

  4. python画散点图-python学习之matplotlib绘制散点图实例

    要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...

  5. [Python] 散点图(二维散点图、三维散点图、散点图矩阵)

    目录 1 两主特征:二维散点图 1.1 二维散点图 1.2 二维分类散点图 1.3 气泡图 2 三主特征:三维散点图 2.1 三维散点图 2.2 三维分类散点图 3 多主特征:二维散点图矩阵 3.1 ...

  6. python简单代码画曲线图教程-Python绘制折线图和散点图的详细方法介绍(代码示例)...

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  7. python画折线图代码-Python绘制折线图和散点图的详细方法介绍(代码示例)

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  8. python中的散点图代码-python – 带有图例的matplotlib散点图

    我有兴趣在我的散点图中绘制一个图例.我目前的代码看起来像这样 x=[1,2,3,4] y=[5,6,7,8] classes = [2,4,4,2] plt.scatter(x, y, c=class ...

  9. python界面散点图_Python数据可视化——散点图

    PS: 翻了翻草稿箱, 发现居然存了一篇去年2月的文章...虽然naive,还是发出来吧... 本文记录了python中的数据可视化--散点图scatter, 令x作为数据(50个点,每个30维),我 ...

最新文章

  1. 【HDU - 3746 】Cyclic Nacklace (KMP,最小循环节问题)
  2. “1天一朵云”,这是如何做到的?
  3. 2017年对口招生c语言及答案,2017年计算机专业对口考试试卷及答案.doc
  4. AI学习笔记(十)卷积神经网络
  5. 变长编码中前缀码的概念
  6. jquery focus() 手机端无效
  7. spring和mybatis整合代码
  8. 遇到问题---hosts不起作用问题的解决方法
  9. 基于FPGA的SD卡音乐播放器之SD卡篇
  10. zint.dll 二维码、条形码库的获取及简单使用
  11. 单片机微型计算机原理及接口技术,单片机微型计算机原理及接口技术课后习题答案第4章.docx...
  12. 人脸识别、二维码电子签到,让会议会展入场更加智能!
  13. Vue组件:做一个表情输入键盘
  14. 计算机冷门知识大全集,阴阳师冷门小知识汇总 冷门小知识合集一览
  15. viewers.js 图片查看插件使用说明-vue中引用
  16. 九月开始复习计算机考研,2019计算机考研复习不要盲目开始
  17. 批量提取微软必应图片
  18. html5移动端点击复制,H5实现移动端复制文字功能
  19. 未连接:有潜在的安全问题Firefox 检测到潜在的安全威胁,并因 github.com 要求安全连接而没有继续。
  20. 使用原始套接字Raw Socket实现数据包嗅探

热门文章

  1. 算法导论:快速找出无序数组中第k小的数
  2. 如何保持 Photoshop 处于最新状态
  3. 实训二十三:交换机扩展 ACL 配置
  4. 20 kubeadm高可用部署1.23以上k8s版本
  5. 晶振为什么要加电容_需要配多大电容
  6. Python缺失值的处理
  7. Barsetto百胜图咖啡进驻园区
  8. Blackmagic Fusion Studio 17 for Mac(影视后期特效合成软件)需要 macOS 11.x系统内附安装教程
  9. android 陀螺仪 加速度定位,Android陀螺仪版加速度计
  10. 使用linux命令上传文件,Linux中常用文件传输命令及使用方法