のプロットを作成します。しかし、私のアプリケーションでは、は、データに応じてプロットを動的に作成して破棄する必要があります。私はChacoとTraitsを使ったプログラミングには新しいので、これを行う方法を示す簡単な例が本当に役に立ちます。は動的Python用チャコプロットツールキットがどのように動的に<em>更新</em>既存のプロットを示す例が含まれてチャコ
14
A
答えて
7
これは少し遅れているが、ここではチャコプロットを作成し、破壊する例です。メインインターフェイスはPlotSelector
で、2つの異なるプロットスタイル(ラインとバープロット)を切り替えるための偽データとラジオボタンを定義しています。
この例では、プロットを閉じたときに知らせるために形質イベントを使用し、次いでPlotController
でその信号を処理します。ウィンドウを閉じるより良い方法があるかもしれませんが、見つけられませんでした。
:Traits、Chaco、Enableの新しいバージョン(3ではなくETS 4)のインポートが更新されました。
import numpy as np
import traits.api as traits
import traitsui.api as ui
import chaco.api as chaco
from enable.api import ComponentEditor
class PlotController(ui.Controller):
view = ui.View(ui.Item('plot', editor=ComponentEditor(), show_label=False),
height=300, width=300, resizable=True)
def object_close_signal_changed(self, info):
info.ui.dispose()
class BasicPlot(traits.HasTraits):
close_signal = traits.Event()
plot = traits.Instance(chaco.Plot)
class LinePlot(BasicPlot):
def __init__(self, plotdata):
self.plot = chaco.Plot(plotdata)
self.plot.plot(('x', 'y'))
class BarPlot(BasicPlot):
def __init__(self, plotdata):
self.plot = chaco.Plot(plotdata)
self.plot.candle_plot(('x', 'ymin', 'ymax'))
available_plot_types = dict(line=LinePlot, bar=BarPlot)
class PlotSelector(traits.HasTraits):
plot_type = traits.Enum(['line', 'bar'])
traits_view = ui.View('plot_type', style='custom')
def __init__(self, x, y):
ymin = y - 1
ymax = y + 1
self.plotdata = chaco.ArrayPlotData(x=x, y=y, ymin=ymin, ymax=ymax)
self.figure = None
def _plot_type_changed(self):
plot_class = available_plot_types[self.plot_type]
if self.figure is not None:
self.figure.close_signal = True
self.figure = plot_class(self.plotdata)
controller = PlotController(model=self.figure)
controller.edit_traits()
N = 20
x = np.arange(N)
y = x + np.random.normal(size=N)
plot_selector = PlotSelector(x, y)
plot_selector.configure_traits()
プロットは(アプリケーション内から呼び出さ)edit_traits
と見ながらメインインターフェース(PlotSelector
)は、(アプリケーションを起動する)configure_traits
を呼び出すことに注意されたいです。また、この例ではモデルから呼び出す代わりにedit_traits
をPlotController
から呼び出しています。ビューをPlotController
からBasicPlot
に移動し、そのビューのハンドラーメソッドをPlotController
に設定することができます。あなたは完全にプロットウィンドウを破壊する必要がない場合
最後に、あなたは(ここではラインプロットまたは棒グラフ)* サブ *プロットを破壊するPlot
オブジェクトのdelplot
方法を見てみたいことがあり。
私は役立つことを願っています。
関連する問題
- 1. がどのように動的にプロット
- 2. は、それが動的に共通-LispのCLOS</p> <p>では、既存のクラスに
- 3. IObservable <int>のアイテムを動的に更新/追加するにはどうすればよいですか?
- 4. Pythonのmatplotlibプロットに凡例を動的に追加する
- 5. "1 << i"のシフトはどのようにPythonで動作しますか?
- 6. CKEditorをどのように変更して、<p></p>をテキストエリアに自動的に入れないようにしますか?
- 7. <:<はどのように動作しますか?
- 8. は自動的に私が<code>EditText</code>上のエラーを表示するように</p> <pre><code>EditText.setError("Something went wrong"); </code></pre> <p>のようなコードを使用していますのEditText
- 9. レコードの更新は内部的にどのように動作しますか?
- 10. C++フォーマット<<自動的
- 11. Page</head>動的に
- 12. 301リダイレクト動的HOSTにはDOCUMENT_ROOTが含まれています
- 13. Netflix Turbine - サーバーポートが自動的に-1に更新されます
- 14. Python/Tkinterは動的にラベルを更新します
- 15. は、動的に、私はそれは既存のテーブルのために正常に動作します<pre><code>$("#myTable").dragtable(); </code></pre> <p> </p>以下のようにそれらを並べ替えるために、テーブルの列をドラッグするjQueryプラグインを使用していDOM要素
- 16. 動的によるJavaScript依存性注入<script>タグ
- 17. 動的QGridLayoutの更新 - Python PyQt
- 18. Longlistselectorは自動的に自動更新されますか?
- 19. 動的にドロップダウンリストを更新
- 20. は動的に既存のマクロは、新しいExcelワークブックに挿入することができますどのように新しいExcelワークブック
- 21. nhibernateが自動的に更新されます
- 22. グーグルアースプラグインが自動的に更新されます
- 23. は私が動的にfiterable属性の値を変更する必要がKendoUI</p> <pre><code>{ width: 90, field: "StatusDesc", title: i18n.t("FirmwareTranslation:Columns.StatusDesc"), filterable: dynFilter } </code></pre> <p>次のコードスニペットを持って動的に
- 24. はカスタム</p> <p>私のCakePHPのWebフォームは、いくつかの動的に生成されたチェックボックスが含まれています... CakePHPの
- 25. グリッドビューを動的に更新します。
- 26. はどのように自動的に
- 27. セッション時間が制限されていない、自動的にセッションが自動的にセッションが更新されないようにするページ
- 28. Angular.jsブートストラップを使用して、動的に私が動的に<code>ng-repeat</code>ディレクティブを使用して<code>angular.js</code>で<code>row-fluid</code>のクラスに<code>bootstrap</code>行のdivを作成する方法を把握しようとしています行
- 29. wxpython/python/matplot libを使用して動的グラフをプロットする
- 30. どうすれば動的プログレッシブデータをプロットすることができますか
はあなたがプロットを必要とし、それを破壊する時間だときの描画フレームを削除する前に、あなたもプロットフレームを表示したくないことを意味していますか? –
フレームを見るのはあまりありません。データはプロットの数を制御し、この数値は時間とともに変化する可能性があるので、あらかじめフレームを作成することはできません。どのようにこれを行うことについて行くかもしれないかについての任意の考え? – Andreas
申し訳ありませんが、すぐに素敵な答えを得る時間がありません。しかし、このページのチュートリアルは本当にあなたを助けませんか? http://github.enthought.com/chaco/user_manual/tutorial.html –