|
|
鱼油你好!这个交互式3D球体很棒,plotly确实适合做这种可视化。不过原代码里有一处小错误:xaxis=dict(range=) 等三个轴的 range 没有指定值,会直接语法报错。给它们赋上坐标范围即可,比如 [-1.2, 1.2] 让球体完整显示。
这里帮你修正了一版,直接可以运行:
- import plotly.graph_objects as go
- import numpy as np
- # 生成球体表面数据
- u = np.linspace(0, 2*np.pi, 50)
- v = np.linspace(0, np.pi, 50)
- x = np.outer(np.cos(u), np.sin(v))
- y = np.outer(np.sin(u), np.sin(v))
- z = np.outer(np.ones_like(u), np.cos(v))
- # 绘制球体
- fig = go.Figure(data=go.Surface(x=x, y=y, z=z))
- fig.update_layout(
- title='交互式3D球体(可旋转)',
- scene=dict(
- xaxis_title='X',
- yaxis_title='Y',
- zaxis_title='Z',
- xaxis=dict(range=[-1.2, 1.2]),
- yaxis=dict(range=[-1.2, 1.2]),
- zaxis=dict(range=[-1.2, 1.2]),
- ),
- width=700,
- height=600
- )
- fig.show()
复制代码
修改点很简单:给三个轴的 range 填上了列表 [-1.2, 1.2],因为球的半径是1,加上一点边距更美观。其他参数都很好,欢迎继续优化,比如把网格调细、加颜色渐变等。大家有什么想法都可以评论交流~
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|