Skip to content

Bar plots can't accept nan values. #478

@scott-maddox

Description

@scott-maddox

Problem Description

Application crash caused by uncaught C++ exception originating from enable/kiva/agg (presumably; origin not confirmed by debug or error trace). It might be more appropriate to file this issue against enable, but I thought I would start here.

The error message:

libc++abi.dylib: terminating with uncaught exception of type std::overflow_error: Exceeded cell block limit
Abort trap: 6

Reproduction Steps:

Run the following test code.

import numpy as np

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


class Test(HasTraits):
    bar_plot = Instance(Plot)

    def _bar_plot_default(self):
        x = [0, 1]
        y = [np.nan, 1.0]
        plot = Plot(ArrayPlotData(x=x, y=y))
        plot.plot(('x', 'y'), type='bar')
        return plot

    traits_view = View(
        UItem('bar_plot', editor=ComponentEditor()),
    )


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

Expected behavior:

Open a QT window with Chaco bar plot.

OS, Python version:
macOS 10.14.6

$ python
Enthought Deployment Manager -- https://www.enthought.com
Python 3.6.0 |Enthought, Inc. (x86_64)| (default, Mar  3 2017, 03:26:01) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin

Package versions:
traits 5.1.2-1
traitsui 6.1.1-3
chaco 4.7.2-4
enable 4.8.0-1
pyqt 4.12.1-1

Metadata

Metadata

Assignees

No one assigned

    Labels

    ETS BacklogGood issue for ETS team members to look at

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions