我正在嘗試在 Plotly 中制作一個散點圖,其中包含一個可以在現場切換 X 和 Y 網格線的按鈕。我正在使用此代碼,但是當我單擊按鈕時,網格線沒有任何反應。
buttons = [dict (method='update', label="Grid ON", args=[{'xaxes' : {'grid' : {'showgrid': True}}}]),
dict (method='update', label="Grid OFF", args=[{'xaxes' : {'grid' : {'showgrid': False}}}] ),
]
fig.update_layout(
updatemenus=[{'buttons':buttons}]
).update_xaxes(showgrid=True, gridwidth=2, gridcolor='LightPink',
tickmode='linear',
tick0 = 0,
dtick = 60,
range = [0, 2500]
).update_yaxes(showgrid=True, gridwidth=2, gridcolor='LightPink',
# tickmode='linear',
# tick0=0,
dtick=0.1,
)
uj5u.com熱心網友回復:
- 主要問題是您使用了錯誤的方法。應該重新布局
- 有一些微妙的問題需要更新更多的可見性
- 我總是喜歡做一個串列理解來構建更新選單結構,以避免復制粘貼類似的代碼
import plotly.express as px
import numpy as np
fig = px.scatter(x=np.linspace(1, 2500, 20), y=np.random.uniform(0, 1, 20))
buttons = [
{
"method": "relayout",
"label": l,
"args": [
{
"xaxis": {
"showgrid": s,
"gridcolor": "LightPink",
"dtick": 60,
"tick0": 0,
},
"yaxis": {"showgrid": s, "gridcolor": "LightPink", "dtick": 0.1},
}
],
}
for l, s in [("Grid ON", True), ("Grid OFF", False)]
]
fig.update_layout(updatemenus=[{"buttons": buttons}]).update_xaxes(
# showgrid=True,
# gridwidth=2,
gridcolor="LightPink",
# tickmode="linear",
tick0=0,
dtick=60,
range=[0, 2500],
).update_yaxes(
# showgrid=True,
# gridwidth=2,
gridcolor="LightPink",
# # tickmode='linear',
# # tick0=0,
dtick=0.1,
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/457385.html
