2011-11-14 7 views
0

私はmatplotlibのスライダーウィジェットを使用しています。キャンバス全体にdraw()を使用すると遅すぎるため、blitを使ってスライダーバーを更新すると高速アニメーションになりました。私は、このメソッドを使用してより速くアニメーション化するバーを得ましたが(完璧に見えません)、スライダの隣に表示されるスライダの値を描画する方法を理解することはできません。どんな助けでも大歓迎です。それは完璧に動作matplotlibからスライダウィジェットの値のテキストを描画するにはどうすればよいですか?

import pylab as p 
from matplotlib.widgets import Slider 

axsigma = p.axes([0.25, 0.10, 0.65, 0.03], axisbg=axcolor) 
slider1 = Slider (axsigma, 'Sigma',0.20, 18, valinit=s0,dragging=True, fc='blue') 

canvas1=axsigma.figure.canvas 

def update (val): 
    canvas1.blit(axsigma.bbox) 

slider1.on_changed(update) 

答えて

0

(win7の64ビットMPL 1.0.0 py2.6.5)と::スライダーのための私のコードは次のようなものである

それは非常に高速かつ必要とせずに手動でドラッグすることができ
In [7]: f = figure() 
In [8]: ax = f.add_subplot(111) 
In [9]: sl = Slider (ax, 'Sigma',0.20, 18, valinit=0, dragging=True, fc='blue')  

draw()またはcanvas.blit()を作成します。

+0

mmm私は、それが直接の使用によって変更されていないときにスライダーの値を更新するためだと思います。スライダーの値のテキストはFigureのテキストオブジェクトなので、テキストをレンダリングする唯一の方法はFigure全体をレンダリングすることです。これはまさに私がしたくないことです。今度はスライダから値のテキストを削除しましたが、スライダの値でいくつかの軸のテキストを設定することを考えていますが、軸のテキストだけを描画する方法はわかりません。とにかくおかげで。 – user1044891

+0

@ user1044891新しい編集をチェックする – joaquin

関連する問題