我希望在Plotly中制作一个动态的三维表面图来可视化研究数据。目标是查看温度随时间变化在盒子内的演化过程。但我不知道如何实现动画效果。
目前我只有一个给定时间点的绘图。 以下是我的代码:
import plotly
import plotly.graph_objects as go
#import plotly.express as px
import pandas as pd
#import numpy as np
#read CSV
z_data = pd.read_csv('data1.csv')# Read data from a csv
fig = go.Figure(data=[go.Surface(z=z_data.values)])
#projection 2D
fig.update_traces(contours_z=dict(show=True, usecolormap=True,
highlightcolor="tomato", project_z=True),
colorscale='portland')
#fig
fig.update_layout(title='data HEATPILES', autosize=False, width=650, height=500, margin=dict(l=0, r=0, b=0, t=0))
#show
plotly.offline.plot(fig)
data1.csv只包含这个: data1.csv
但我有更多基于时间的点位置数据,并希望制作一个动画图,这样我们可以清晰地看到时间上的演变。
这是在特定时间的结果 给定时间的绘图结果
我在plotly文档中看到,可以利用px.scatter和px.line进行动画制作(来自此处),并且从这里可以了解如何使用影像进行动画制作,所以我想使用曲面图也是可能的。
- 这里是一些动画制作的示例:https://plotly.com/python/#animations
- 这里是一些3D曲面图的示例:https://plotly.com/python/3d-surface-plots
如果您能帮我,我将不胜感激! 谢谢您的帮助,
Theophile
args=[None]
?如果我想要50毫秒,语法是args=["duration":50]
吗?你分享的链接谈到了可能的args
,但似乎没有一个是关于帧或转换持续时间的。 - Schach21