У меня есть этот набор данных, который я хотел бы отобразить на трехмерной поверхности и в контуре с помощью python (numpy и matplotlib, в основном).В этом случае в качестве свободных координат я использую оси X и Y, а результаты описываются как набор данных на оси z.
Я много раз проверял данные, и они правильно отформатированы. Вот график рассеянного набора
Проблема в том, что я пытаюсь использовать график поверхности, где соединены конечные точки сетки (X, Y),закрывая поверхность и делая невидимой часть изображения, содержащую информацию, которую я хотел бы иметь. Вот вывод, который я имею относительно графика поверхности , а вот вывод относительно контурного графика .
Код, относящийся к графику поверхности (только часть чертежа):
#...
#X and Y are the coordinates values
#E is the results I am trying to plot
fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(X, Y, E, cmap=cm.coolwarm, linewidth=0, antialiased=False)
ax.scatter3D(X, Y, E, cmap='Greens')
fig.colorbar(surf, shrink=0.5, aspect=5)
plt.show()
Вот код, относящийся к контурному графику
fig, ax = plt.subplots()
CS = ax.contourf(X, Y, E, 10, cmap='RdGy')
ax.clabel(CS, inline=1, fontsize=10)
ax.set_title('Simplest default with labels')
fig.colorbar(CS, shrink=0.5, aspect=5)
plt.show()