It is possible to get invalid screen points from a BaseXYPlot.map_screen.
Starting here:
If data_array is 1-dimensional and one of the points is out of bounds, then the LinearMapper being used to map the screen point (here) will return an array. Meanwhile, for the in-bounds point a scalar will be returned (here). Then the BaseXYPlot packs the array and scalar into a single object array which is not the right thing to do.
I think the right solution is to have the BaseXYPlot handle this corner case, but the LinearMapper might be to blame since in both places the proper behavior is not documented.
It is possible to get invalid screen points from a
BaseXYPlot.map_screen.Starting here:
If data_array is 1-dimensional and one of the points is out of bounds, then the
LinearMapperbeing used to map the screen point (here) will return an array. Meanwhile, for the in-bounds point a scalar will be returned (here). Then theBaseXYPlotpacks the array and scalar into a single object array which is not the right thing to do.I think the right solution is to have the BaseXYPlot handle this corner case, but the
LinearMappermight be to blame since in both places the proper behavior is not documented.