小编Ale*_*lle的帖子

如何在Matplotlib(python)中隐藏轴和网格线

我希望能够在3D matplotlib图上隐藏轴和网格线.我想这样做,因为当放大和缩小图像变得非常讨厌.我不确定这里要包含哪些代码,但这是我用来创建图形的代码.

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.view_init(30, -90)
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")
plt.xlim(0,pL)
plt.ylim(0,pW)
ax.set_aspect("equal")

plt.show()
Run Code Online (Sandbox Code Playgroud)

这是我正在看的情节的一个例子:
这是我正在看的情节的一个例子

python matplotlib

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

使用 matplotlib.tri.Triangulation 创建用于 Matplotlib 的 plot_trisurf 的三角剖分

我正在尝试matplotlib.tri.Triangulation用于为 matplotlibs 生成三角形plot_trisurf。我想指定三角形而不是让 Delaunay 三角剖分matplotlib.tri.Triangulation使用,因为它不适用于某些情况,例如 xz 或 yz 平面中的三角形。我不确定自己指定三角形是否会解决问题,但我似乎是一件值得尝试的事情。

问题是三角剖分需要一个 (n,3) 数组,其中 n 是三角形的数量。引用 matplotlib.org 上的页面“对于每个三角形,构成三角形的三个点的索引,以逆时针方式排序。” https://matplotlib.org/api/tri_api.html#matplotlib.tri.Triangulation 。我无法辨别如何以正确的形式创建数组,那就是我需要帮助。我很感激任何帮助。

到目前为止,我已经尝试了一些东西,但这是我最后一次尝试的样子:

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.tri as mtri

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

x1=0
x2=1
x3=1
x4=0

y1=0
y2=0
y3=2
y4=2

x=[]
y=[]
x.append(x1)
x.append(x2)
x.append(x3)
x.append(x4)
y.append(y1)
y.append(y2)
y.append(y3)
y.append(y4)
z=np.zeros(8)

triang = mtri.Triangulation(x, y, triangles=[[[x1,y1],[x2,y2],[x3,y3]],[[x3,y3],[x4,y4],[x2,y2]]])

ax.plot_trisurf(triang, z, linewidth=0.2, antialiased=True)

ax.view_init(45,-90)
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")
ax.set_aspect("equal")

fig.set_size_inches(8,8)

plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib triangulation

3
推荐指数
1
解决办法
7427
查看次数

标签 统计

matplotlib ×2

python ×2

triangulation ×1