2015-09-18 112 views
2

我想將點「活」添加到matplotlib中的散點圖,以便一旦它們被計算出來,點就出現在圖上。可能嗎? 如果沒有,是否有一個python兼容的類似的繪圖平臺,可以做到這一點? 謝謝!將點添加到matlibplot散點圖live

+2

您是否在尋找[這](https://docs.python.org/2/library/turtle html的)? –

回答

6

您可以將新點添加到返回值爲ax.scatteroffsets數組中。

您需要使繪圖與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() 
+0

它的工作原理。但是,我怎樣才能使圖表自動重新縮放?謝謝! – geodude

+0

我添加了幾行來更新xlim和ylim – MaxNoe

+0

謝謝!有用。 – geodude