并非所有数据都以chaco的条形图显示

时间:2017-09-27 17:14:47

标签: python enthought chaco

创建简单的条形图时会出现chaco奇怪的行为:一半的情节用line_color填充,另一个用fill_color填充,最后一个没有绘制(view screenshot)。预计x的0到7000和y的0到150的数据应该显示并用line_color填充。使用较小的值可以正常工作(例如,对y值使用50而不是150)。这种行为有解释吗?如何解决?

下面的代码演示了问题:

from enable.api import ComponentEditor
from traits.api import Instance, HasStrictTraits
from traitsui.api import View, UItem
from chaco.api import Plot, ArrayPlotData


class TestPlot(HasStrictTraits):
    plot = Instance(Plot)
    traits_view = View(UItem('plot', editor=ComponentEditor()),
                       width=1000, height=800, resizable=True,)

    def __init__(self, **kw):
        super(TestPlot, self).__init__(**kw)

        plot_data = ArrayPlotData(x=list(xrange(0, 7000)), y=[150] * 7000)
        self.plot = Plot(plot_data)    
        self.plot.plot(('x', 'y'), type='bar', line_color="gray", fill_color="lightgray")

        self.plot.index_mapper.range.set(low=0 - 150, high=8000 + 50)
        self.plot.value_mapper.range.set(low=0 - 50, high=100 + 100)


test = TestPlot()

if __name__ == "__main__":
    test.configure_traits()

Weird plot

0 个答案:

没有答案