相关疑难解决方法(0)

设置3D绘图的纵横比

我试图从海底500米乘40米部分的声纳数据绘制海底的3D图像.我正在使用带有Axes3D的matplotlib/mplot3d,我希望能够更改轴的纵横比,以便x&y轴可以缩放.生成数据而不是实际数据的示例脚本是:

import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# Create figure.
fig = plt.figure()
ax = fig.gca(projection = '3d')

# Generate example data.
R, Y = np.meshgrid(np.arange(0, 500, 0.5), np.arange(0, 40, 0.5))
z = 0.1 * np.abs(np.sin(R/40) * np.sin(Y/6))

# Plot the data.
surf = ax.plot_surface(R, Y, z, cmap=cm.jet, linewidth=0)
fig.colorbar(surf)

# Set viewpoint.
ax.azim = -160
ax.elev = 30

# Label axes.
ax.set_xlabel('Along track (m)')
ax.set_ylabel('Range (m)')
ax.set_zlabel('Height (m)')

# …
Run Code Online (Sandbox Code Playgroud)

python matplotlib mplot3d

29
推荐指数
2
解决办法
2万
查看次数

如何裁剪方形宽高比的Axes3D图?

这是一个准系统的例子:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
f = fig.add_subplot(2, 1, 1, projection='3d')
t = fig.add_subplot(2, 1, 2, projection='3d')

# axes
for d in {f, t}:
    d.plot([-1, 1], [0, 0], [0, 0], color='k', alpha=0.8, lw=2)
    d.plot([0, 0], [-1, 1], [0, 0], color='k', alpha=0.8, lw=2)
    d.plot([0, 0], [0, 0], [-1, 1], color='k', alpha=0.8, lw=2)

f.dist = t.dist = 5.2   # 10 is default

plt.tight_layout()
f.set_aspect('equal')
t.set_aspect('equal')

r = 6
f.set_xlim3d([-r, r])
f.set_ylim3d([-r, r])
f.set_zlim3d([-r, r])

t.set_xlim3d([-r, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib aspect-ratio mplot3d

21
推荐指数
1
解决办法
1132
查看次数

使用 Matplotlib 模拟 Origin 中的瀑布图

我正在尝试使用 Python 和 Matplotlib 创建 Origin 制作的瀑布图(见下图)。

起源瀑布

或者Gnuplot

一般方案对我来说很有意义,您从 2D 矩阵开始,就像您想要制作曲面图一样,然后您可以遵循StackOverflow 问题中显示的任何方法(此处)。这个想法是将矩阵的每条线绘制为 3D 空间中的一条单独的曲线。

此 matplotlib 方法会生成如下图所示的图:

Matplotlib 瀑布

我遇到的困难是,Origin 图中清晰的透视感在 matplotlib 版本中丢失了。你可以说这部分是由于相机角度造成的,但我认为更重要的是,它来自于较远的线“前面”出现的较近的线。

我的问题是,如何在 Matplotlib 中正确模仿 Origin 中的瀑布图并具有透视效果?我真的不明白这两个情节有什么不同,所以即使定义确切的问题也很困难。

python graph matplotlib

4
推荐指数
2
解决办法
5496
查看次数

标签 统计

matplotlib ×3

python ×3

mplot3d ×2

aspect-ratio ×1

graph ×1