저는 입니다. 실제로은 chaco bar plots을 만드는 방법을 이해하는 데 어려움을 겪고 있습니다. Chaco bar plots
나는 온라인 예를 보냈죠 봤는데 다음과 같은 간단한 코드로 아래로 감소 : 내 시도가 작동하지 않았다 말할 필요도없이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'항목과 관련이 있다고 생각하는데, 그 이유는 무엇인지 이해하지 못하기 때문입니다. 내 코드 오류에 대한 모든 포인터에 대해 감사하게 생각합니다.
일반적으로이 코딩 방법은 나에게 매우 복잡해 보입니다. chaco bar plot을 만드는 더 간단한 방법이 있습니까?
대단히 감사합니다. 그 응답은 tsyu80입니다. 네, 맞았습니다. bar_width에 적절한 값을 설정하면 플롯 바가 서로 구별 될 수있게되었습니다. 대신 하나의 커다란 뚱뚱한 바가 막히지 않았습니다 (이것이 내 플롯이 모두 검은 색 이었기 때문입니다). 예제에도 감사드립니다. 플롯 편리한 방법을 사용하는 두 번째 방법은 '가장 단순한'솔루션을 제공하는 것처럼 보였지만 matplotlib 막 대형 차트와 비교해도 여전히 복잡해 보입니다. – dreme
목표가 단지 정적 플롯을 생성하는 것이라면 Chaco가 더욱 장황합니다. 즉, Chaco는 응용 프로그램에 플롯을 추가하는 데 더 중점을 둡니다. 대화 형 플롯을 사용하여 응용 프로그램을 만드는 경우 Chaco가 matplotlib보다 간단하다는 것을 알 수 있습니다. –
예, 좋은 지적입니다. 내가 모든 특성/ui/chaco 패러다임의 매달리기를 시작하기 때문에, 나는 그것을 아주 좋아한다. – dreme