python xyz2d平面图_python – 使用matplotlib和pyplot进行2D坐标的简单动画

本文介绍如何在matplotlib中使用pyplot模块创建简单的动画效果。通过不断更新数据并在每次迭代时调用plt.pause()实现动画播放。文章提供了完整的代码示例,包括设置坐标轴范围和更新数据点。
摘要由CSDN通过智能技术生成

我是matplotlib的新手.我有一个x-y坐标列表,我在python中更新,并希望使用matplotlib的pyplot进行动画处理.我想提前指定x范围和y范围.以下是我目前的代码:

import matplotlib.pyplot as plt

x=[1,2,3,4]

y=[5,6,7,8]

for t in range(100):

#lists x and y get updated here

#...

plt.plot(x, y, marker='o', linestyle='None')

plt.show()

如您所见,我在迭代循环结束时使用plt.plot()和plt.show()来仅绘制最终坐标.但是我想把这一步放在循环中并在每次迭代时用指定的暂停时间进行绘图,这样我就可以在循环运行时得到一个动画.

只是在循环中移动该语句或在其周围调整是行不通的.

我想保持它非常简单,并且不想使用matplotlib.animation.是否有一些简单的方法,不使用更多的模块和库(只有像plt.pause()这样的东西,也许只有更多),让我做我想做的事情?

我在网上查看了很多地方,我在大多数方法面临的问题是我在Windows上使用python(x,y)(即python版本2.7),而使用过于复杂的模块和库的动画在这里崩溃了.

但是,我能够在matplotlib网站上运行像this example这样的简单东西,这与我想要的很接近,但并不完全.所以也许最好的事情是修改这个例子,这个例子适用于我的2D数据(例如1D行).但任何其他建议都是受欢迎的.

解决方法:

import matplotlib.pyplot as plt

import numpy as np

fig, ax = plt.subplots()

x = [1, 2, 3, 4]

y = [5, 6, 7, 8]

for t in range(10):

if t == 0:

points, = ax.plot(x, y, marker='o', linestyle='None')

ax.set_xlim(0, 10)

ax.set_ylim(0, 10)

else:

new_x = np.random.randint(10, size=5)

new_y = np.random.randint(10, size=5)

points.set_data(new_x, new_y)

plt.pause(0.5)

虽然这很简单但文档字符串表示它很慢.

标签:python,python-2-7,matplotlib,animation

来源: https://codeday.me/bug/20191007/1869631.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值