我正在基于 pandas 数据框创建 3D 散点图,然后每当用户按下程序中的按钮时,我想用稍微更新的数据重新绘制它。我几乎可以使用此功能,除了更新的图形是通过新打开的选项卡绘制的,而实际上我只想更新我的原始现有图形。
这是我的代码。首先,我使用数据的“版本 1”初始化绘图,然后设置一个简单的 while 循环来等待用户请求更新。然后理想情况下,一旦他们输入要求更新的内容,我只需在打开的同一个选项卡中重新绘制所有内容。但会打开一个新选项卡(至少会正确地重新绘制数据)。
fig = go.Figure(data=[go.Scatter3d(x=df['x'],y=df['y'],z=df['z'],mode='markers', marker=dict(
size=4,
color=df['y'], # set color to an array/list of desired values
colorscale='Viridis', # choose a colorscale
opacity=0.3
))])
# Column max and mins for plotting:
xmax = df_1.max(axis=0)['x']; xmin = df_1.min(axis=0)['x']
ymax = df_1.max(axis=0)['y']; ymin = df_1.min(axis=0)['y']
zmax = df_1.max(axis=0)['z']; zmin = df_1.min(axis=0)['z']
fig.update_layout(
scene = dict(xaxis = dict(nticks=4, range=[xmin,xmax],),
yaxis = dict(nticks=4, range=[ymin,ymax],),
zaxis = dict(nticks=4, range=[zmin,zmax],),))
f2 = go.FigureWidget(fig)
f2.show()
#fig.show()
while True:
choice = …Run Code Online (Sandbox Code Playgroud)