2014-07-22 95 views
0

我想繪製散點圖,基於由滑塊調整的參數移動的點。我需要參數是座標列表中的位置。我有它,所以散點圖被繪製,我可以通過改變位置來手動移動點,但是當我嘗試實現滑塊時,它會顯示,但不能用於更新繪圖的藥物。任何幫助都會很棒。我到目前爲止已經在下面。謝謝。蟒蛇Matplotlib滑塊繪製,但不移動或更新

%pylab 
from mpl_toolkits.mplot3d import Axes3D 
from matplotlib import animation 

def on_change(val): 
    p=int(val)/1 

def chart(): 
    x=[0,0.5,1] 
    y=[0,0.5,1] 
    z=[0,0.5,1] 
    p=0 
    fig = pyplot.figure() 
    ax = fig.add_subplot(111, projection='3d') 
    ax.plot([0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,0],[0,1,1,0,0,0,0,0,1,1,0,0,1,1,1,1],[0,0,1,1,0,0,1,1,1,1,1,0,0,1,0,0],c='black',zorder=10) 
    ax.scatter(x[p],y[p],z[p],zorder=0) 
    ax.set_xlabel('Width') 
    ax.set_ylabel('Depth') 
    ax.set_zlabel('Height') 
    slider_ax = plt.axes([0.15, 0.05, 0.7, 0.02]) 
    slider = Slider(slider_ax, "min", 0, 2, valinit=1, color='blue') 
    pyplot.show() 

chart() 

回答

0

你必須參考保持周圍或它的Slider對象(和它的回調)得到垃圾收集。請參閱https://github.com/matplotlib/matplotlib/issues/3105的長時間討論。

此文檔已被澄清爲1.4。

+0

謝謝,這有幫助。現在我的問題是,當滑塊更新情節時,它會爲情節添加一個點(總共顯示3個點),我需要做的是清除情節並重新繪製一個新點(1分似乎從A點移動到B點,更新的代碼在上面 – user3007389

+0

如果這解決了你問的問題,那麼請接受這個答案,並用你的新問題開一個新的問題。回答移動目標問題是非常討厭。 – tacaswell

+0

當然。http://stackoverflow.com/q/24921234/3007389 – user3007389