チャコ バー プロットを作成する方法を理解するのに本当に苦労しています。
私はオンラインの例を熟読し、次の単純化されたコードに減らしました。
import numpy as np
from traits.api import HasTraits, Instance
from traitsui.api import View, Item
from chaco.api import BarPlot, ArrayDataSource, DataRange1D, LinearMapper
from enable.api import ComponentEditor
class MyBarPlot(HasTraits):
plot = Instance(BarPlot)
traits_view = View(
Item('plot',editor=ComponentEditor(), show_label=False))
def _plot_default(self):
idx = np.array([1, 2, 3, 4, 5])
vals = np.array([2, 4, 7, 4, 3])
index = ArrayDataSource(idx)
index_range = DataRange1D(index, low=0.5, high=5.5)
index_mapper = LinearMapper(range=index_range)
value = ArrayDataSource(vals)
value_range = DataRange1D(value, low=0)
value_mapper = LinearMapper(range=value_range)
plot = BarPlot(index=index, value=value,
value_mapper=value_mapper,
index_mapper=index_mapper)
return plot
if __name__ == "__main__":
myplot = MyBarPlot()
myplot.configure_traits()
言うまでもなく、私の試みはうまくいきませんでした。このコードを (ipython ノートブックで) 実行すると、黒で塗りつぶされた空白のプロット ウィンドウしか表示されません。
これらの目的がよくわからないため、エラーが「valuemapper」エントリに関係している可能性があると思われます。私のコードエラーに関するポインタに感謝します。
より一般的には、このコーディング アプローチは非常に複雑に思えます。チャコ バー プロットを作成する簡単な方法はありますか?