自定义按钮¶
参考:Custom Buttons | Python | Plotly
方法¶
updatmenu 方法 确定将使用哪个 plotly.js 函数 来修改图表。有四种可能的方法:
"restyle"
:修改data或数据属性"relayout"
:修改 layout 属性"update"
:修改 data 和 layout 属性;联合"restyle"
和"relayout"
"animate"
:启动或暂停 动画
restyle
按钮¶
当修改图的数据和数据属性时,应该使用 "restyle"
方法。
-
更新一个数据属性
这个例子演示了如何使用
"restyle"
方法更新单个数据属性:charttype
。
import plotly.graph_objects as go
import pandas as pd
# load dataset
df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/volcano.csv")
# create figure
fig = go.Figure()
# Add surface trace
fig.add_trace(go.Surface(z=df.values.tolist(), colorscale="Viridis"))
# Update plot sizing
fig.update_layout(
width=800,
height=900,
autosize=False,
margin=dict(t=0, b=0, l=0, r=0),
template="plotly_white",
)
# Update 3D scene options
fig.update_scenes(
aspectratio=dict(x=1, y=1, z=0.7),
aspectmode="manual"
)
# Add dropdown
fig.update_layout(
updatemenus=[
dict(
type = "buttons",
direction = "left",
buttons=list([
dict(
args=["type", "surface"],
label="3D Surface",
method="restyle"
),
dict(
args=["type", "heatmap"],
label="Heatmap",
method="restyle"
)
]),
pad={"r": 10, "t": 10},
showactive=True,
x=0.11,
xanchor="left",
y=1.1,
yanchor="top"
),
]
)
# Add annotation
fig.update_layout(
annotations=[
dict(text="Trace type:", showarrow=False,
x=0, y=1.08, yref="paper", align="left")
]
)
f = go.FigureWidget(fig)
f