Summary
I would like to request a way to control which traces participate in the fitbounds calculation.
The current behavior is correct in the sense that fitbounds considers all relevant traces in the graph. However, for interactive maps with multiple routes, it would be useful to fit the view to a selected trace (or subset of traces) while keeping the other traces visible.
Related issue
This feature request follows from the discussion in the closed issue:
plotly/plotly.js#8046
More specifically, this follows from camdecoster's comment on #8046.
Use case
I am building an interactive flight-route map using scattergeo.
The map contains many flight routes. When the user selects one route, I would like to:
- Keep all routes visible.
- Fit/zoom the map to the selected route only.
- Keep the other routes visible, but exclude them from the calculation used to determine the fitted view.
This is particularly important for routes crossing the antimeridian.
For example, a route from Vancouver (YVR) to Seoul (ICN) crosses the antimeridian. If this is the only trace in the graph, fitbounds: 'locations' correctly fits the route and rotates the map to the Pacific.
However, when all the other routes are present, fitbounds considers their locations as well, resulting in a much wider/global view.
Current workaround
I tried temporarily removing the other routes, fitting the map to the selected route, and then adding the other routes back.
The first two steps work correctly:
- Remove/disable the other routes.
- Fit the view to the selected route.
However, as soon as the other routes are added back, fitbounds recalculates using all traces and the view immediately returns to the wider extent.
I also tried making the other routes transparent, but opacity does not exclude their locations from the fitbounds calculation.
I therefore currently have to choose between fitting the map correctly to the selected route and keeping all routes in the graph.
Proposed feature
It would be useful to have a way to specify which traces should participate in the fitbounds calculation.
For example, conceptually something like:
layout: {
geo: {
fitbounds: 'locations',
fitbounds_traces: [3, 7]
}
}
Summary
I would like to request a way to control which traces participate in the
fitboundscalculation.The current behavior is correct in the sense that
fitboundsconsiders all relevant traces in the graph. However, for interactive maps with multiple routes, it would be useful to fit the view to a selected trace (or subset of traces) while keeping the other traces visible.Related issue
This feature request follows from the discussion in the closed issue:
plotly/plotly.js#8046
More specifically, this follows from camdecoster's comment on #8046.
Use case
I am building an interactive flight-route map using
scattergeo.The map contains many flight routes. When the user selects one route, I would like to:
This is particularly important for routes crossing the antimeridian.
For example, a route from Vancouver (YVR) to Seoul (ICN) crosses the antimeridian. If this is the only trace in the graph,
fitbounds: 'locations'correctly fits the route and rotates the map to the Pacific.However, when all the other routes are present,
fitboundsconsiders their locations as well, resulting in a much wider/global view.Current workaround
I tried temporarily removing the other routes, fitting the map to the selected route, and then adding the other routes back.
The first two steps work correctly:
However, as soon as the other routes are added back,
fitboundsrecalculates using all traces and the view immediately returns to the wider extent.I also tried making the other routes transparent, but opacity does not exclude their locations from the
fitboundscalculation.I therefore currently have to choose between fitting the map correctly to the selected route and keeping all routes in the graph.
Proposed feature
It would be useful to have a way to specify which traces should participate in the
fitboundscalculation.For example, conceptually something like: