先画一点显示出,再画一点再显示出,如何实现在同一个图上先后显示这2点
先画一点显示出,再画一点再显示出,如何实现在同一个图上先后显示这2点import time
import numpy as np
import matplotlib.pyplot as plt
x = 9
y = 90
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.scatter(x,y,c = 'r',marker = 'o')
print("draw point 1")
time.sleep(10)
x = 12
y = 93
ax1.scatter(x,y,c = 'r',marker = 'o')
print("draw point 2")
plt.show() 你的意思是要有动画效果?一个先出现,另外一个后出现? suchocolate 发表于 2021-9-25 10:30
你的意思是要有动画效果?一个先出现,另外一个后出现?
坐标点是变化的,当坐标变了,就在图上标记一个点位,这样显示 出一系列的 点出来。 wideband 发表于 2021-9-25 10:36
坐标点是变化的,当坐标变了,就在图上标记一个点位,这样显示 出一系列的 点出来。
是不是动画? suchocolate 发表于 2021-9-25 10:41
是不是动画?
是不是动画 无所谓的,不是动画 能否实现呢? 本帖最后由 suchocolate 于 2021-9-25 10:47 编辑
wideband 发表于 2021-9-25 10:42
是不是动画 无所谓的,不是动画 能否实现呢?
先画一点显示出,再画一点再显示出,这不是动画是什么?
画静态就普通散点,画动态要用到animation类。先确定你的需求吧。 本帖最后由 suchocolate 于 2021-9-25 11:42 编辑
普通方式:import matplotlib.pyplot as plt
x =
y =
fig, ax = plt.subplots()
ax.scatter(x, y, c='r', marker='o')
plt.show()
动画方式:import matplotlib.pyplot as plt
import matplotlib.animation as animation
def init():
ax.set_xlim(0, 20)
ax.set_ylim(0, 100)
return ax,
def run(data):
x, y = data
ax.scatter(x, y, c='r', marker='o')
return ax,
fig, ax = plt.subplots()
data = [, ]
ani = animation.FuncAnimation(fig=fig, func=run, frames=data, interval=2000, init_func=init)
plt.show()
suchocolate 发表于 2021-9-25 11:36
普通方式:
动画方式:
谢谢! wideband 发表于 2021-9-25 13:38
谢谢!
谢谢就完了?
页:
[1]