使用 meshgrid 将 X,Y,Z 三元组转换为三个二维数组,用于 matplotlib 中的曲面图

2023-12-02

我是 Python 新手,所以请耐心等待。我很感激任何帮助!

我拥有的:三个一维列表(xr、yr、zr),一个包含 x 值,另外两个包含 y 和 z 值
我想做的事:在 matplotlib 中创建 3D 等高线图

我意识到我需要使用以下方法将三个一维列表转换为三个二维列表meshgrid功能。

这是我到目前为止所拥有的:

xr = np.asarray(xr) 
yr = np.asarray(yr)
zr = np.asarray(zr)

X, Y = np.meshgrid(xr,yr)
znew = np.array([zr for x,y in zip(np.ravel(X), np.ravel(Y))])
Z = znew.reshape(X.shape)

运行此命令会出现以下错误(对于我在上面输入的最后一行):

 total size of new array must be unchanged

我在 stackoverflow 上进行了挖掘,并尝试使用有类似问题的人的建议。以下是我从每个建议中得到的错误:

将最后一行更改为:

Z = znew.reshape(X.shape[0])

给出同样的错误。

将最后一行更改为:

Z = znew.reshape(X.shape[0], len(znew))

给出错误:

Shape of x does not match that of z: found (294, 294) instead of (294, 86436).

将其更改为:

Z = znew.reshape(X.shape, len(znew))

给出错误:

an integer is required

有任何想法吗?


好吧,下面的示例代码对我有用

import numpy as np
import matplotlib.pyplot as plt

xr = np.linspace(-20, 20, 100)
yr = np.linspace(-25, 25, 110)
X, Y = np.meshgrid(xr, yr)

#Z = 4*X**2 + Y**2

zr = []
for i in range(0, 110):
    y = -25.0 + (50./110.)*float(i)
    for k in range(0, 100):
        x = -20.0 + (40./100.)*float(k)

        v = 4.0*x*x + y*y

        zr.append(v)

Z = np.reshape(zr, X.shape)

print(X.shape)
print(Y.shape)
print(Z.shape)

plt.contour(X, Y, Z)
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 meshgrid 将 X,Y,Z 三元组转换为三个二维数组,用于 matplotlib 中的曲面图 的相关文章

随机推荐

  • 如何使用预加载器和多个图像显示加载状态?

    我正在构建一个包含数百张图像的幻灯片 并希望构建一个漂亮的加载栏 因此我的想法是使用 JavaScript 预加载图像 然后初始化 UI 的其余部分 预加载图像不是问题 但让浏览器在加载时更新状态才是问题 我已经尝试了一些方法 但浏览器只会
  • 在Rails中,是否可以限制谁可以使用api登录google?

    是否可以只允许某些谷歌帐户登录 例如 email protected 是通过谷歌托管 他们实际上是谷歌帐户 我只想要用户 mycompany能够登录这可能吗 你用 devise 还是 google api 来做这个 谢谢 如果您正在使用om
  • 当键在字典中时出现键错误

    只是试图从一堆照片的 EXIF 数据中提取一些纬度 经度信息 但代码抛出了一个KeyError即使稍后 成功 使用该键来打印特定坐标 有问题的字典是 tags GPS GPSLatitude and GPS GPSLongitude 都是键
  • NSMutableArray 中的lastObject 是否返回对象的副本?

    我有一个与这段代码相关的问题 NSNumber lastObject self myStack lastObject if lastObject self myStack removeLastObject return lastObject
  • 点击事件时清除 QLineEdit

    我正在使用给定的代码 我希望用户在 QLineEdit 小部件中输入文本 然后按复制 按钮并看到输入的文本替换了 N A 标签 我的问题是 按照此过程 如何通过简单的鼠标单击清除 QLineEdit 小部件中输入的文本 从我读到的 this
  • 旋转方法已弃用,相当于“didRotateFromInterfaceOrientation”?

    我正在尝试实施新的viewWillTransitionToSizeiOS 8 中引入的方法 所有其他旋转方法已被弃用 我想知道相当于什么didRotateFromInterfaceOrientation现在是因为我们需要执行许多清理任务 但
  • 为什么我们不能使用 new 关键字创建活动?

    为什么我们必须使用意图来启动活动 为什么我们不能使用 Activity a new Activity 启动它 我尝试在android开发者中搜索但没有得到任何答案 可以 但它不会完全初始化 Activity 上有一系列函数需要以正确的顺序调
  • Java - 私有和包私有枚举构造函数之间的区别[重复]

    这个问题在这里已经有答案了 最近我经常使用枚举 所以我想知道 私有枚举构造函数和没有任何可见性修饰符的枚举构造函数 包私有 之间有什么区别吗 枚举的构造函数是隐式的private 就像接口和注释的方法是隐式的public abstract
  • 如何在运行时正确压缩 UIImages

    我需要加载 4 个图像进行同时编辑 当我从用户库加载它们时 内存超过 500mb 并且崩溃 以下是我尝试进行任何压缩之前原始分配转储的日志 Code var pickedImage UIImage data imageData Instru
  • 如何从我的应用程序打开标准 Google 地图应用程序?

    一旦用户按下我的应用程序中的按钮 我想打开标准的 Google 地图应用程序并显示特定位置 我该怎么做 不使用com google android maps MapView 你应该创建一个Intent具有 geo URI 的对象 Strin
  • LibGDX 保存纹理以避免上下文丢失

    我的基于 LibGDX 的 Android 应用程序中有一个纹理 它是通过 FrameBuffers 按程序创建的 我需要通过上下文丢失来保留它 而且似乎唯一有效的方法就是简单地保存数据 无论是作为完整图像还是原始图像数据 输出 并在时间到
  • 使用 spring security 自定义注释

    我已阅读 Spring Security 文档 并了解到我可以使用以下注释来检查主题是否有权编辑用户 PreAuthorize hasPermission USER EDIT public String editUSer User user
  • 如何计算文本字符串中的单词数?

    在 iOS 上 如何计算特定文本字符串中的单词数 比拆分更有效的方法是逐个字符检查字符串 int word count NSString s CFCharacterSetRef alpha CFCharacterSetGetPredefin
  • 在 Angular js 中调用 $sce.trustAsHtml() 字符串内的函数

    我正在使用 Angularjs 开发一个应用程序并添加HTML using sce trustAsHtml 在我的页面中 我想在上面动态添加的内容中调用一个函数 我的 html 和脚本如下 HTML div div p p div div
  • HTML 字段集内容在 100% 高度溢出 (Chrome)

    我的 HTML 有问题fieldsetChrome 中的元素 我想要一个固定高度fieldset 其中有一个可滚动的div 一切看起来都很好 直到我把legend 当我这样做时 div从底部溢出fieldset 我还在 Firefox 中进
  • Python 3 包和脚本中导入的最佳实践

    考虑这个简单的文件夹结构 root Package1 x py y py Package2 z py Examples main py 现在我们的要求是 x py需要导入y py z py需要导入y py main py需要导入y py和z
  • “main”通常是一个非静态函数错误

    显示两个错误 main c 80 警告 main 通常是一个非静态函数 main c 88 错误 输入末尾处的预期声明或语句 我似乎找不到问题 花括号的数量是相等的 似乎是什么问题 include
  • SQL - 从一组结果中选择唯一的行

    我为这个问题绞尽脑汁已经有一段时间了 我还审查了其他问题 但没有成功 我遇到的问题是 我有一个结果 表列表 其中包含多行和列 注册 ID 日期 单位类型 005DTHGP 172 172 2007 09 11 生物酶 005DTHGP 19
  • 最小化 Java 函数调用开销

    I have 一段代码在我运行的每个测试中 函数调用都会产生大量开销 该代码是一个紧密循环 对数组 包含 4 800 万个元素 的每个元素执行一个非常简单的函数ints 运行代码 主要包括 for int y 1 y lt h y for
  • 使用 meshgrid 将 X,Y,Z 三元组转换为三个二维数组,用于 matplotlib 中的曲面图

    我是 Python 新手 所以请耐心等待 我很感激任何帮助 我拥有的 三个一维列表 xr yr zr 一个包含 x 值 另外两个包含 y 和 z 值 我想做的事 在 matplotlib 中创建 3D 等高线图 我意识到我需要使用以下方法将