Python 将点添加到matlibplot散布图live
我想在matplotlib中的散点图中添加“活动”点,以便点在计算后立即显示在图形上。可能吗? 如果没有,是否有一个与python兼容的类似绘图平台可以实现这一点?Python 将点添加到matlibplot散布图live,python,matplotlib,Python,Matplotlib,我想在matplotlib中的散点图中添加“活动”点,以便点在计算后立即显示在图形上。可能吗? 如果没有,是否有一个与python兼容的类似绘图平台可以实现这一点? 谢谢 您可以将新点附加到ax.scatter返回值的offset数组中 您需要使绘图与plt.ion()交互,并使用fig.canvas.update()更新绘图 这将从二维标准正态分布绘制,并将点添加到散点图: import matplotlib.pyplot as plt import numpy as np plt.ion(
谢谢 您可以将新点附加到
ax.scatter
返回值的offset
数组中
您需要使绘图与plt.ion()
交互,并使用fig.canvas.update()
更新绘图
这将从二维标准正态分布绘制,并将点添加到散点图:
import matplotlib.pyplot as plt
import numpy as np
plt.ion()
fig, ax = plt.subplots()
plot = ax.scatter([], [])
ax.set_xlim(-5, 5)
ax.set_ylim(-5, 5)
while True:
# get two gaussian random numbers, mean=0, std=1, 2 numbers
point = np.random.normal(0, 1, 2)
# get the current points as numpy array with shape (N, 2)
array = plot.get_offsets()
# add the points to the plot
array = np.append(array, point)
plot.set_offsets(array)
# update x and ylim to show all points:
ax.set_xlim(array[:, 0].min() - 0.5, array[:,0].max() + 0.5)
ax.set_ylim(array[:, 1].min() - 0.5, array[:, 1].max() + 0.5)
# update the figure
fig.canvas.draw()
你在找什么?它很管用。但是,如何使图形自动重新缩放?谢谢如何设置这些点的颜色?在我的例子中,我有一个预定义的散点图,我想用一种新的颜色来绘制新的点。谢谢。还有一个
set\u color
我得到了这个错误-“顶点”必须是一个形状为Nx2的二维列表或数组。我正在使用Python3。还从ax.set_xlim…“lineI获取“数组索引太多”错误。我还获取“数组索引太多”错误。将第一个append命令更改为array=np。append(数组,[point],axis=0)
修复了此问题。