在plotly python中自动测距y轴

在plotly python中自动测距y轴,python,plotly,Python,Plotly,我想在plotly中绘制一个图形。使用rangelider将范围设置为缩放时,y轴是固定的,并使数据处于平面。我发现一个页面是一个专家做的,但我做不到 有没有人能做到这一点 在这个页面上,第二个图形是一个动画gif,这正是我必须做的这是相同的技术,但使用破折号捕获事件并触发回调。附加参考: 你提到你不能做这件事。你能告诉我们你尝试了什么,你犯了什么错误,或者出了什么问题,这样我们才能重现你的问题吗? from jupyter_dash import JupyterDash import das

我想在plotly中绘制一个图形。使用rangelider将范围设置为缩放时,y轴是固定的,并使数据处于平面。我发现一个页面是一个专家做的,但我做不到

有没有人能做到这一点


在这个页面上,第二个图形是一个动画gif,这正是我必须做的

这是相同的技术,但使用破折号捕获事件并触发回调。附加参考:


你提到你不能做这件事。你能告诉我们你尝试了什么,你犯了什么错误,或者出了什么问题,这样我们才能重现你的问题吗?
from jupyter_dash import JupyterDash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output, State
import plotly.express as px
import numpy as np
import pandas as pd

# generate some data and a figure...
s = 500
df = pd.DataFrame({"date": pd.date_range("1-jan-2020", periods=s), "val": np.random.uniform(0, 1, s)})
df = df.assign(val=df["val"] * (df["date"] - df["date"].min()).dt.days ** 3)

fig = px.line(df, x="date", y="val")
fig = fig.update_layout(xaxis={"rangeslider": {"visible": True}, "range":[df["date"].quantile(.75), df["date"].max()]})

# Build App
app = JupyterDash(__name__)
app.layout = html.Div([
    dcc.Graph(id='dashFig', figure=fig),
], style={"font-family": "Arial", "font-size":"0.9em"})

# get callback from rangeslider and update ranges on x & y axis
@app.callback(Output('dashFig', 'figure'),
            [Input('dashFig', 'relayoutData')])
def rangesliderchg(relayoutData):
    if relayoutData and "xaxis.range" in relayoutData.keys():
        s = df.loc[df["date"].between(relayoutData['xaxis.range'][0], relayoutData['xaxis.range'][1]), "val"]
        fig["layout"]["yaxis"]["range"] = [s.min(), s.max()]
        fig["layout"]["xaxis"]["range"] = relayoutData['xaxis.range']
    return fig

# Run app and display result inline in the notebook
app.run_server(mode='inline')