问题标签 [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 回答
636 浏览

python - 移动 3D 绘图以避免边缘裁剪

我试图弄清楚如何让下面的 3D matplotlib 图像在画布上绘制得更高,这样它就不会被剪裁。这是我用来创建情节的代码。我找不到附加包含 Z 标高的文本文件的方法(在下面的代码中引用),但它只是一个包含由 0 到 1 之间的值组成的表面的二维数组。

为了使该ax.pbaspect=[1., .33, 0.25]行正常工作,按照本文中的建议对 site-packages\mpl_toolkits\mplot3d\axes3d.py 中的函数get_proj进行了更改。为了让图形画得更大,我根据这篇文章添加了。最后,基于这篇文章,我希望能够回滚边距并防止下面显示的红色/黄色表面被剪裁,但这也不起作用。我找不到将图像在画布上向上移动的命令,从而避免了图形顶部所有不必要的空白并防止红色/黄色表面被剪裁。是否有一行 Python 可以完成此任务?ax.dist = 7plt.tight_layout()

在此处输入图像描述

添加该行后plt.tight_layout(),情况变得更糟:

在此处输入图像描述

0 投票
1 回答
41 浏览

matlab - 在 Matlab 中绘制 3Dplot 动画中一个点的历史

我在 Matlab 中有几个 3D 点,我使用 plot3 从这些点制作了动画。这些点存储在数组中,然后其中一些与线连接。代码如下:

这很好用,这将为两点的运动和它们之间的线设置动画。在每次迭代中,点和线都会被擦除并重新绘制。现在我想做的是我想显示其中一个点的运动历史,而所有其他点和线都应该像往常一样删除和重绘。假设我想在整个动画中“坚持”点 1 的情节,以显示其运动轨迹。

提前致谢。

0 投票
1 回答
2334 浏览

python - 如何在 3D Matplotlib 散点图中为特定的网格线/刻度线着色?

我正在尝试修改 3D matplotlib 散点图中特定网格线的颜色/厚度,在这种情况下,我希望 -30 z 轴网格线为黑色、粗体或加厚,以便在其他网格线中脱颖而出。这是从 mplot3d 散点图教程中看到的基本代码:

我尝试了以下方法:

在此先感谢您的帮助。

0 投票
1 回答
3743 浏览

python - 向右(或向左)移动 3D 绘图 z 轴标签

在下图中,如何操纵 z 轴标签以将其向右移动?

这是我用来创建情节的代码:

在此处输入图像描述

0 投票
2 回答
1730 浏览

python - 如何裁剪具有正方形纵横比的 Axes3D 图?

这是一个准系统示例:

这就是我得到的:

方形视口

这就是我要的:

矩形视口

换句话说,我希望地块本身具有正方形的纵横比,而不是像这样拉伸:

延伸出

多亏了https://stackoverflow.com/a/31364297/125507

但我希望查看这些图的窗口是矩形的,顶部和底部被裁剪掉(因为顶部和底部只有空白,而且我正在生成多个动画 GIF,所以我不能轻易地对其进行后期处理到我想要的形状)。

基本上我正在制作这个动画,我想要同样的东西,但没有所有的空白:

动画

0 投票
2 回答
12588 浏览

python - Matplotlib 3D 绘图使用颜色图

我正在尝试使用 ax.scatter 绘制 3D 散射图。我已经从 fit 文件中读取了数据,并将三列中的数据存储到 x、y、z 中。我已经确保 x,y,z 数据大小相同。z 已在 0 和 1 之间标准化。

我想要实现的是使用颜色来指示 z 的大小。就像较高的 z 值会得到较深的颜色。但是我不断得到一个没有我想要的颜色图的情节,它们都是相同的默认蓝色。我做错了什么?谢谢。

0 投票
0 回答
794 浏览

python - 如何使用 matplotlib 在 Python 中绘制球形多边形?

我有一个vertices形状为 (N,3) 的 numpy 数组,其中包含 3D 球形多边形的 N 个顶点,即所有这些点都位于球体的表面上。球的中心和半径是已知的(以单位球为例)。我想绘制由这些顶点界定的球形多边形。(从数学上讲,我想绘制这些顶点生成的球形凸包)。

我怎样才能做到这一点matplotlib?我试过Poly3DCollection了,但这只会绘制欧几里得多边形。我设法使用plot_surface这样的方法绘制整个单位球体:

我想人们可以手动计算要从中删除哪些点x, y, z,然后仍然使用plot_surface它来绘制多边形。这是正确的使用方式matplotlib还是它有另一个模块,我可以直接使用?

如果没有方便的方法可以做到这一点matplotlib,你能推荐任何其他图书馆吗?

0 投票
1 回答
1792 浏览

python - 将强度附加到 3D 图

下面的代码生成我测量强度的点的 3D 图。我希望将强度值附加到每个点,然后在点之间进行插值,以生成显示高强度和低强度点的彩色图/曲面图。

我相信这样做需要scipy.interpolate.RectBivariateSpline,但我不确定它是如何工作的——因为我看过的例子都没有包含 3D 图。

编辑:我想将球体显示为曲面图,但我不确定我是否可以这样做,Axes3D因为我的点分布不均匀(即赤道周围的点更靠近)

任何帮助将不胜感激。

在此处输入图像描述

编辑:更新:我已经格式化了我的数据数组(这里命名为 v),使得前 8 个值对应于 theta 的第一个值,依此类推。出于某种原因,与图表对应的颜色条表示我的电压为负值,原始代码中未显示。此外,输入的值似乎并不总是对应于应该是它们位置的点。我不确定是否存在某种偏移,或者我是否错误地解释了您的代码。

图形

0 投票
1 回答
1390 浏览

matplotlib - 来自文本文件的 Python-xy 3d 图

我有一个包含 500x500 强度值的文本文件。我正在尝试使用 Python-XY 生成此数据的 3D 图。只有这个 500x500 阵列的特定部分被绘制(235:268、210:280)。

这是迄今为止 Python-XY 代码的众多尝试之一:

我尝试了许多不同的代码来生成这个图,但是有一个特定的错误不断弹出:

我假设这是指 X 轴和 Y 轴不兼容,但我不确定这是为什么。我在这里有什么地方特别出错了吗?

0 投票
1 回答
2923 浏览

python - Spyder 终端内的 3D matplotlib 图

我在 mathplotlib 中绘制 3D 图:

然而,该图在终端中打开,因此我无法检查它。如何在新窗口中打开它进行检查?

谢谢。