问题标签 [mplot3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2103 浏览

3d - 数据文件中的 Python 3d 绘图,获取 valueError

我对python比较陌生。我正在根据文件中的数据绘制不同类型的图。我成功地做了一个等高线图,并想在 3D 图上绘制相同的数据。所以数据已经在 X、Y 和 Z 数组中。有 Nx X 值,Ny Y 值,Z 是一个 (Nx,Ny) 数组。我正在尝试的最新版本代码如下:

因此,以前 X、Y 和 Z 从文件中收集到我刚才提到的数组中。但是当我尝试运行它时,我得到以下信息:

是不是因为某种原因 X 应该是一个二维数组?还是我需要将 X 重塑为列向量而不是行或类似的东西?我真的不明白为什么它适用于轮廓但不适用于 3d 图。任何意见将不胜感激。谢谢。

0 投票
2 回答
435 浏览

python - mplot3d 给出空白图但没有错误

所以我正在尝试使用 mplot3d 和 matplotlib 绘制一个 3d 图表。代码如下:

其中,到期和罢工是一维数组,而 vols 是具有适当大小的二维数组。一切运行正常,所有数据均有效。但是,我得到了一个完全空白的窗口,只有灰色背景。

任何人都可以给我一些关于发生了什么的提示吗?我怀疑 matplotlib 的版本不对,但不确定如何检查。

提前致谢。

0 投票
1 回答
724 浏览

python - 3D 绘图:为什么坐标参数输入为 2D 数组?

mplot3d 函数plot_surface要求将定义曲面的点的坐标输入为三个二维数组 X、Y、Z。这是一个演示这些数组构造的工作示例。我在由角度 u 和 v 参数化的球坐标中表示 x,y,z 坐标。

我相信由 X,Y,Z 表示的坐标正是[X[i,j], Y[i,j], Z[i,j]]在 i 和 j 上索引的所有三元组的集合。(1)这是正确的吗?

我为构建真实图而编写的许多函数都采用了一个三元组列表的参数,正是上述三元组的形式;即points = [[x1,y1,z1], [x2,y2,z2], ..., [xn, yn, zn]]。我预计这个输入会被 接受plot_surface,但事实并非如此。结果我发现自己需要相当频繁地在两种表示之间进行转换,例如通过

我可以这样做,但我担心我自己的函数也应该使用 2D 数组格式。(2)数组输入格式除了易于编程构造这些数组之外,还有其他原因吗?例如,它的计算效率更高吗?

0 投票
3 回答
7610 浏览

matlab - MATLAB 集('XData'....)

我在更新我的情节时遇到问题。基本上,我有一个函数可以创建一个带有 3 个子图的图形。然后我有另一个函数运行 create figure 函数,然后更新绘图。仅更新很重要,因此我不会在每个循环中创建一个新图形,因为它是 3d 数据并且需要一段时间才能加载。

问题在于我的第二个子情节。我使用 slice() 加载 3 个图像(3 个切片),然后还想绘制一个位置向量。我最初将我的位置向量设置为(0,0,0),然后我想我可以通过将'XData','YData'......设置为它们各自的值来在我的循环中更新它。由于某种原因,它无法正常工作,并且正在吐出错误“未定义函数'XData'用于'double'类型的输入参数。” 请帮忙,下面是代码,谢谢!!!

注意---错误在于“%refresh plot”之后的更新绘图功能

初始情节

更新情节

0 投票
1 回答
15452 浏览

python - matplotlib 3D绘图上的反向Z轴

如何颠倒 3D 图的 z 轴上的顺序(即负向上,正向下)?下面的代码产生一个底部朝下的圆锥体;是否有ax.reverse_zlim3d(True)可用于更改分时订单的命令(例如或什么?)?

以下代码绘制了一个底面朝下的圆锥体。我想颠倒 z 轴的顺序,使其底部朝上,就像冰淇淋蛋筒一样,-1 在图表的顶部而不是底部。

圆锥图

0 投票
3 回答
38935 浏览

matlab - 3D曲线拟合

我有离散的规则网格a,b点及其相应的c值,我进一步对其进行插值以获得平滑曲线。现在从插值数据中,我进一步想为曲线拟合创建一个多项式方程。如何在多项式中拟合 3D 图?

我尝试在 MATLAB 中执行此操作。我在 MATLAB (r2010a) 中使用曲面拟合工具箱对 3 维数据进行曲线拟合。但是,如何在 MATLAB/MAPLE 或任何其他软件中找到最适合一组数据的公式。有什么建议吗?同样最有用的是一些真实的代码示例,PDF文件,网络等。

这只是我数据的一小部分。

提前致谢。

0 投票
1 回答
1769 浏览

python - 使用 Matplotlib 的范围从图像中绘制 3D 轮廓

正如我在这里介绍的(以 2D 形式),我想知道我是否可以“缩放”要绘制到绘图范围内的图像输入。更清楚地说,这就是我需要的:

我有一个 400 * 400 的图像,它是基于间隔为 -1..1 的函数生成的。因此,我进行了翻译以保存这些数据,如下所示:

即,首先我将其位置映射到我的范围,然后根据这个“新位置”计算 de f(x, y) 并保存数据。此外,当我保存此图像时,我对数据进行转换,使其适合 0..255 范围,生成灰度图像。

问题是,稍后,我必须在函数范围内表示图像轮廓。所以,我有一个图像,400 * 400,我必须在一个范围为 -1..1 的图中表示。

在 2D 中,我可以使用以下代码执行此操作:

二维轮廓

在 3D 中,我尝试了这个:

3D 轮廓

但 X 和 Y 仍在 0..400 范围内。我不知道出了什么问题,或者我必须做什么才能使 X 和 Y 在 -1..1 范围内。此外,没有显示标签。

此外,由于im是图像,我读取的值介于 0..255 之间。我怎么能在 -1..1 范围内呈现它呢?

提前致谢。(:

0 投票
1 回答
323 浏览

python - Python:从 3 个数组绘制 3d 图时出错

我有三个名为 ra、ma 和 op 的等长数组,其中大部分是数字,当它们用 'nan' 或 'None' 代替 number 时,很少有实例。例如:

我想为其中的数字制作一个 3d 图。我的代码是:

在我输入 plt.show() 之前一切都很好 - 然后它给了我一长串错误,其结尾如下:

可能是: 这是因为 nan 值,但我不知道如何删除它们:-/ 如果我想从 ra 中删除 nan 值(这是列表的第 4 个值),我还必须删除ma 和 op 的第四个值。而且我无法弄清楚如何做到这一点,或者我们是否需要这样做。

有人可以指出我哪里出错了吗?

0 投票
1 回答
365 浏览

python - mplot3d:如何显示刻度而不是网格?

我想用 matplotlib/mplot3d 显示轴刻度,而不是 x/y/z 背景上的微弱网格:

在此处输入图像描述

有没有办法抑制网格?

0 投票
1 回答
1066 浏览

python - 使用 PolyCollection 在 matplotlib mplot3d 图中出现奇数线伪影

我正在使用使用 PolyCollection 堆叠 XY 图的 mplot3d 示例,http ://matplotlib.org/examples/mplot3d/polys3d_demo.html

但是,我在情节中看到了一些奇怪的线条伪影。

  • 如何删除从可见区域消失的水平线?
  • 有没有更好的方法沿深度方向堆叠 XY 图?

以下脚本生成此图,

mplot3d 图中的奇数线