Я хотел бы сделать 3D-график в matplotlib. У меня 6 точек с координатами x, y и z. Я график их, и я получил это:заполненный 3d участок python
Но моя цель участок, где поверхность между синими линиями будет цвет заполнены.
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
plt.rcParams['svg.fonttype'] = 'none' # during export plots as .svg files, text is exported as text (default text is exported as curves)
data = np.loadtxt('D:\PyCharm\File1.txt', skiprows=1)
x = data[:, 0]
y = data[:, 1]
z = data[:, 2]
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot(x, y, z)
axes = plt.gca()
axes.set_xlim(5712000, 5716000)
axes.set_ylim(5576000, 5579000)
axes.set_zlim(-1000, -600)
axes.set_xlabel('X')
axes.set_ylabel('Y')
axes.set_zlabel('Z')
plt.tight_layout()
plt.show()
И я попробовал три-поверхность участка:
ax.plot_trisurf(x, y, z)
Но форма не является правильным:
Edit: О моих данных: это текстовый файл, который выглядит следующим образом:
X Y Z
5714397 5576607 -1008
5713159 5577871 -999
5713465 5577909 -1014
5714156 5577428 -1022
5714410 5577789 -1035
5715057 5577407 -1036
5714397 5576607 -1008
Вторая и последняя строки одинаковы, но я попытался с другим файлом, в котором я удалил последнюю строку. Сюжеты были такими же, как и выше.
Это работает. Но я использую Python 3, поэтому у меня возникла проблема [Построение 3D-полигонов в Python 3] (http://stackoverflow.com/questions/37585340/plotting-3d-polygons-in-python-3). Теперь все в порядке. –