python - 需要帮助了解如何使用 plotly 绘制 3d 曲面图
问题描述
我正在尝试在 -pi 到 pi 上绘制一个函数 z= sinx coy
这是我编写的尝试做同样的代码:
import plotly.graph_objs as go
from scipy.linalg import toeplitz
x=np.linspace(-np.pi,np.pi,30)
z = [(np.sin(i)*np.cos(i)) for i in x]
fig = go.Figure(data=[go.Surface(x=x, y=x, z=toeplitz(z))])
fig.show()
我无法理解我必须将我的 z 坐标列数据转换为什么“网格”或“二维数组”格式才能获得正确的图形。Toeplitz 试图做同样的事情,但与所需的图不同,它看起来是对称的。请帮忙
解决方案
我想我明白了,如果您遇到类似的问题,您可以参考/使用下面的代码
import numpy as np
import plotly.graph_objs as go
f = lambda x,y: np.sin(x) * np.cos(y)
x = np.linspace(-np.pi, np.pi, 30)
y = np.linspace(-np.pi, np.pi, 30)
X,Y = np.meshgrid(x,y)
F = f(X,Y)
fig = go.Figure(data=[go.Surface(x=X, y=Y, z=F)])
fig.show()
推荐阅读
- css - THREE.js CSS2D 文本标签 - 可以通过 RayCasting 相交和识别它们吗?
- scikit-learn - f_classif() 的结果在 ANOVA 模型中不那么直观
- vue.js - 如何在不更改 html 的情况下向 Vue 中的类添加点击事件?
- django - 在 django_tables2 中创建模式弹出窗口
- python - 使用 BeautifulSoup 查找 HTML 中的所有类
- c++ - 如何使用 vscode 编译具有不同选项的 c 语言?
- python - 在 Python 中查找子目录
- wordpress - WordPress 网站的会员资格(艺术家名单)
- android - 我怎样才能让这个基本的 android 服务示例应用程序工作?
- javascript - 如何并排显示图像?