请问如何实现实时可视化数据绘图的功能?
例如:import random
while True:
a=random.randint(1,1500)
每次生成一个随机数,然后把这个随机数画出来。
网上抄的代码,改动了下,应该是你想要的效果吧?
X 轴就是代表随机数的序号,从 0开始 ,Y 轴是代表随机数的值
import random
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.gca()
X = []
i = 0
while True:
X.append(random.randint(1, 1500))
ax.scatter(i, X, c='r')
plt.pause(0.4)
i += 1 Twilight6 发表于 2020-9-6 23:15
网上抄的代码,改动了下,应该是你想要的效果吧?
X 轴就是代表随机数的序号,从 0开始 ,Y 轴是 ...
多谢,这个图的X轴是变化的,我想要的效果是先把X轴刻度一次性画出来,比如有200个刻度,然后每生成一个y值,就在这个刻度上画个点,然后把点与点之间用折线连接。 cdkeycdma 发表于 2020-9-7 08:41
多谢,这个图的X轴是变化的,我想要的效果是先把X轴刻度一次性画出来,比如有200个刻度,然后每生成一个y ...
你都设置为 True 死循环了,没有规定生成多少数,怎么可能可以知道 X 轴最大值是多少?这是无限生成下去的 条件可以改成a<1500 你可以修改为这样import random
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.gca()
x = []
i = 0
while i < 500:
x.append(random.randint(1,1500))
ax.scatter(i, x, c = 'b', s = i/10)
plt.pause(0.2)
plt.xlim()
plt.ylim()
plt.title('Scatter Graph')
plt.grid(True)
i += 1 bonst 发表于 2020-9-7 11:45
你可以修改为这样
要的便是这种效果,请问如何把点与点之间用线连起来形成折线图。 这么多的点你确定要连接起来,完全看不清楚的 bonst 发表于 2020-9-7 12:44
这么多的点你确定要连接起来,完全看不清楚的
是的,我想现实这种电磁波的效果 那你试试这个函数np.exp(-t) * np.cos(4*np.pi*t),这个倒是跟电磁波比较像
页:
[1]