wideband 发表于 2021-9-25 09:45:03

先画一点显示出,再画一点再显示出,如何实现在同一个图上先后显示这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:29

你的意思是要有动画效果?一个先出现,另外一个后出现?

wideband 发表于 2021-9-25 10:36:57

suchocolate 发表于 2021-9-25 10:30
你的意思是要有动画效果?一个先出现,另外一个后出现?

坐标点是变化的,当坐标变了,就在图上标记一个点位,这样显示 出一系列的 点出来。

suchocolate 发表于 2021-9-25 10:41:22

wideband 发表于 2021-9-25 10:36
坐标点是变化的,当坐标变了,就在图上标记一个点位,这样显示 出一系列的 点出来。

是不是动画?

wideband 发表于 2021-9-25 10:42:18

suchocolate 发表于 2021-9-25 10:41
是不是动画?

是不是动画 无所谓的,不是动画 能否实现呢?

suchocolate 发表于 2021-9-25 10:45:01

本帖最后由 suchocolate 于 2021-9-25 10:47 编辑

wideband 发表于 2021-9-25 10:42
是不是动画 无所谓的,不是动画 能否实现呢?

先画一点显示出,再画一点再显示出,这不是动画是什么?
画静态就普通散点,画动态要用到animation类。先确定你的需求吧。

suchocolate 发表于 2021-9-25 11:36:07

本帖最后由 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()

wideband 发表于 2021-9-25 13:38:25

suchocolate 发表于 2021-9-25 11:36
普通方式:
动画方式:

谢谢!

suchocolate 发表于 2021-9-29 15:27:19

wideband 发表于 2021-9-25 13:38
谢谢!

谢谢就完了?
页: [1]
查看完整版本: 先画一点显示出,再画一点再显示出,如何实现在同一个图上先后显示这2点