问题标签 [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.
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 = 7
plt.tight_layout()
添加该行后plt.tight_layout()
,情况变得更糟:
matlab - 在 Matlab 中绘制 3Dplot 动画中一个点的历史
我在 Matlab 中有几个 3D 点,我使用 plot3 从这些点制作了动画。这些点存储在数组中,然后其中一些与线连接。代码如下:
这很好用,这将为两点的运动和它们之间的线设置动画。在每次迭代中,点和线都会被擦除并重新绘制。现在我想做的是我想显示其中一个点的运动历史,而所有其他点和线都应该像往常一样删除和重绘。假设我想在整个动画中“坚持”点 1 的情节,以显示其运动轨迹。
提前致谢。
python - 如何在 3D Matplotlib 散点图中为特定的网格线/刻度线着色?
我正在尝试修改 3D matplotlib 散点图中特定网格线的颜色/厚度,在这种情况下,我希望 -30 z 轴网格线为黑色、粗体或加厚,以便在其他网格线中脱颖而出。这是从 mplot3d 散点图教程中看到的基本代码:
我尝试了以下方法:
和
在此先感谢您的帮助。
python - 如何裁剪具有正方形纵横比的 Axes3D 图?
这是一个准系统示例:
这就是我得到的:
这就是我要的:
换句话说,我希望地块本身具有正方形的纵横比,而不是像这样拉伸:
多亏了https://stackoverflow.com/a/31364297/125507
但我希望查看这些图的窗口是矩形的,顶部和底部被裁剪掉(因为顶部和底部只有空白,而且我正在生成多个动画 GIF,所以我不能轻易地对其进行后期处理到我想要的形状)。
基本上我正在制作这个动画,我想要同样的东西,但没有所有的空白:
python - Matplotlib 3D 绘图使用颜色图
我正在尝试使用 ax.scatter 绘制 3D 散射图。我已经从 fit 文件中读取了数据,并将三列中的数据存储到 x、y、z 中。我已经确保 x,y,z 数据大小相同。z 已在 0 和 1 之间标准化。
我想要实现的是使用颜色来指示 z 的大小。就像较高的 z 值会得到较深的颜色。但是我不断得到一个没有我想要的颜色图的情节,它们都是相同的默认蓝色。我做错了什么?谢谢。
python - 如何使用 matplotlib 在 Python 中绘制球形多边形?
我有一个vertices
形状为 (N,3) 的 numpy 数组,其中包含 3D 球形多边形的 N 个顶点,即所有这些点都位于球体的表面上。球的中心和半径是已知的(以单位球为例)。我想绘制由这些顶点界定的球形多边形。(从数学上讲,我想绘制这些顶点生成的球形凸包)。
我怎样才能做到这一点matplotlib
?我试过Poly3DCollection
了,但这只会绘制欧几里得多边形。我设法使用plot_surface
这样的方法绘制整个单位球体:
我想人们可以手动计算要从中删除哪些点x, y, z
,然后仍然使用plot_surface
它来绘制多边形。这是正确的使用方式matplotlib
还是它有另一个模块,我可以直接使用?
如果没有方便的方法可以做到这一点matplotlib
,你能推荐任何其他图书馆吗?
python - 将强度附加到 3D 图
下面的代码生成我测量强度的点的 3D 图。我希望将强度值附加到每个点,然后在点之间进行插值,以生成显示高强度和低强度点的彩色图/曲面图。
我相信这样做需要scipy.interpolate.RectBivariateSpline
,但我不确定它是如何工作的——因为我看过的例子都没有包含 3D 图。
编辑:我想将球体显示为曲面图,但我不确定我是否可以这样做,Axes3D
因为我的点分布不均匀(即赤道周围的点更靠近)
任何帮助将不胜感激。
编辑:更新:我已经格式化了我的数据数组(这里命名为 v),使得前 8 个值对应于 theta 的第一个值,依此类推。出于某种原因,与图表对应的颜色条表示我的电压为负值,原始代码中未显示。此外,输入的值似乎并不总是对应于应该是它们位置的点。我不确定是否存在某种偏移,或者我是否错误地解释了您的代码。
matplotlib - 来自文本文件的 Python-xy 3d 图
我有一个包含 500x500 强度值的文本文件。我正在尝试使用 Python-XY 生成此数据的 3D 图。只有这个 500x500 阵列的特定部分被绘制(235:268、210:280)。
这是迄今为止 Python-XY 代码的众多尝试之一:
我尝试了许多不同的代码来生成这个图,但是有一个特定的错误不断弹出:
我假设这是指 X 轴和 Y 轴不兼容,但我不确定这是为什么。我在这里有什么地方特别出错了吗?
python - Spyder 终端内的 3D matplotlib 图
我在 mathplotlib 中绘制 3D 图:
然而,该图在终端中打开,因此我无法检查它。如何在新窗口中打开它进行检查?
谢谢。