I have a scatter plot made with plotly (specifically offline plotly with the Python API on a Jupyter Notebook) and as you know, plotly makes it easy for the user to zoom and frame specific areas, but I'd like the plot to start already focussed on a specific area of my choosing.
I can't find anything relevant in the documentation (maybe because I don't know where to look or what terms to look up). Is there a way to do this, and if so, how? And how does the setting differ when using subplots rather than a Figure object?
To zoom along only one axis, click and drag near the edges of either one of the axes. Additionally, to zoom-in along both the axes together, click and drag near the corners of both the axes.
Using Plotly, it is easy to create a Dashboard. The difference from the Plotly Express is that you will have to use plotly. graph_objects as go instead of plotly express. The gist below in my GitHub has the entire code that you can use as a template to create your own visualizations.
The default values for the margins are 80 pixels on the left, right, and bottom and 100 pixels on the top.
If your axis includes dates, then make sure you specify the type as date before setting the range. Otherwise, you'll receive unexpected results.
start_date = "2019-09-26"
start_date = "2019-10-18"
fig.update_xaxes(type="date", range=[start_date, end_date])
If the fig
consists of subplots with shared x axes (or y axes), you can set the above range to the row and column corresponding to the last shared plot.
The following is for a single-column subplot with each a graph plot in each row, totalling 7 rows.
last_row = 7
last_col = 1
fig.update_xaxes(type="date", range=[start, end], row=last_row, col=last_col)
When you specify your Layout
, under the xaxis
and yaxis
parameters, you can specify a range
, e.g.
import plotly.graph_objs as go
# ...
layout = go.Layout(
yaxis=dict(
range=[0, 100]
),
xaxis=dict(
range=[100, 200]
)
)
fig = go.Figure(data=data, layout=layout)
Documentation for this can be found for the xaxis
here and yaxis
here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With