python - 我想使用具有不同范围的输入变量创建一个 3D 曲面图
问题描述
我已收到答案,但由于没有足够的细节,问题已关闭。我正在添加更多信息,以防这对某人有所帮助。
我发布了我正在处理的功能的简化版本。我给出了:f(q, t) = k*q(1-t),其中 k 只是一些预定义的常数。当 q 和 t 位于不同的间隔时,我想为所有 q 和 t 创建一个 f(q, t) 的 3D 曲面图。
q 在单位区间上,t 可以是从 0 到某个正值 z(不包括 1)的任何值。
我发现了类似的问题和答案,但它们解决了相同区间的变量。即使在查看指南之后,有些步骤也不清楚。具体来说,我不知道如何组合 q 的区间,因为我是新手,不知道还要搜索什么。
我之前只用 excel 数据完成了基本的 2D 绘图,所以除了定义函数之外,我不知道从哪里开始。希望这对于将来有类似问题的人来说足够详细。
解决方案
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
def f(x, y):
return 2 * x * (1 - y)
x = np.linspace(0, 1, 50)
y = np.union1d(np.linspace(0, 0.99, 50), np.linspace(1.01, 2, 50))
X, Y = np.meshgrid(x, y)
Z = f(X, Y)
fig = plt.figure(figsize=(12,8))
ax = plt.axes(projection='3d')
ax.contour3D(X, Y, Z, 100, cmap='binary')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z');
基本上,您只需要调整此处给出的示例: https ://jakevdp.github.io/PythonDataScienceHandbook/04.12-three-dimensional-plotting.html 。该脚本是不言自明的。
推荐阅读
- java - 如何在 Spring WebClient 中拦截 http 流量?
- windows - wmic路径win32_process获取多个参数
- asp.net-core - AutoMapper - 映射源对象中不存在的目标对象的属性
- shopify - 在我手动将其添加到 Shopify 之前,块上的预设不会显示
- java - 在java代码中定义Kotlin扩展函数
- firebase - Firebase 中文档的属性数量是否有上限?
- python - 如何计算日期时间对象之间的差异并根据天数获取时间间隔
- bash - 带有期望的 Bash 脚本在本地和 sftp 中执行命令
- java - 如何解决这种拒绝服务问题的可能性?
- javascript - 如何将我从 API 获取的数据插入到离子卡中?