holoviz / holoviews

With Holoviews, your data visualizes itself.
https://holoviews.org
BSD 3-Clause "New" or "Revised" License
2.7k stars 404 forks source link

Avoid reliance on extents to provide axis ranges on various Elements #1433

Open philippjfr opened 7 years ago

philippjfr commented 7 years ago

A number of Elements including Histogram, Raster and a probably a few others rely on the extents to determine the axis ranges. This is extremely problematic because extents cannot easily be overridden. As a first step toward getting rid of extents any Elements that rely on extents to supply the axis ranges should start using the range method instead.

Since we now have the redim method I would also be strongly in favor of having slicing operations no longer apply the extents (as discussed in https://github.com/ioam/holoviews/issues/566). The reason why I'm so against using extents is that they are hard to override and yet another thing for a user to reason about. They are also inconsistently respected (see https://github.com/ioam/holoviews/issues/567, and https://github.com/ioam/holoviews/issues/692) and just all around confusing. Also see https://github.com/ioam/holoviews/issues/1432 for another issue caused by using extents.

jlstevens commented 7 years ago

Sounds like a sensible proposal although I'll need to think about the implications a bit more. It also sounds like something to fix for HoloViews 2.0?

philippjfr commented 7 years ago

It also sounds like something to fix for HoloViews 2.0?

I think there's two steps here, Histogram and Raster can probably be fixed to avoid reliance on extents before 2.0, but the general slicing semantics would definitely have to wait until 2.0.