我需要将可旋转 3D 绘图导出为 HTML,就像WriteWebGL 在 R 中的作用 https://www.rdocumentation.org/packages/rgl/versions/0.100.54/topics/writeWebGL,但是来自 Python / matplotlib。
当在 Jupyter 笔记本中运行时,您可以生成如下交互式绘图:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
...
ax.scatter3D(xdata, ydata, zdata, c=zdata, cmap='Greens');
(此示例的源代码here https://colab.research.google.com/github/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/04.12-Three-Dimensional-Plotting.ipynb#scrollTo=1c0OOBjyaX3t)
如前所述,用户可以旋转 3D 绘图。如何将这种交互性从 Python 导出为 HTML?
一定是matplotlib吗?你可以用plotly来做到这一点。
这是一个简单的例子。这会修改一个名为 test.html 的现有空文件,然后您可以在 Web 浏览器中打开该文件以使用交互式 3D 绘图。
import plotly.graph_objects as go
import numpy as np
import plotly.express as px
# Helix equation
t = np.linspace(0, 20, 100)
x, y, z = np.cos(t), np.sin(t), t
fig = go.Figure(data=[go.Scatter3d(
x=x,
y=y,
z=z,
mode='markers',
marker=dict(
size=12,
color=z, # set color to an array/list of desired values
colorscale='Viridis', # choose a colorscale
opacity=0.8
)
)])
# tight layout
fig.update_layout(margin=dict(l=0, r=0, b=0, t=0))
fig.write_html("test.html") #Modifiy the html file
fig.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)