Python 将点添加到matlibplot散布图live

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(

我想在matplotlib中的散点图中添加“活动”点,以便点在计算后立即显示在图形上。可能吗? 如果没有,是否有一个与python兼容的类似绘图平台可以实现这一点?
谢谢

您可以将新点附加到
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)
修复了此问题。