Создать 3D-график - Глубина / Время / Температура из большого .csv file_Python 3.x - PullRequest
1 голос
/ 07 марта 2019

Я пытаюсь создать трехмерный график зависимости температуры от глубины и времени с большим набором данных .csv. Пример ниже создан в Matlab. Я хочу аналогичный вывод, используя Python 3.x с обратными шкалами на оси температуры и глубины. Пример вывода с несколькими необходимыми модами

Я начал со следующего кода:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

# Get the data (csv file is hosted on the web)

data = pd.read_csv('C;\\Path\\TestData_Temp-Time-Depth_3DPlot.csv')

# Transform it to a long format
df = data.unstack().reset_index()
df.columns = ["X", "Y", "Z"]

# And transform the old column name in something numeric
df['X'] = pd.Categorical(df['X'])
df['X'] = df['X'].cat.codes

# Make the plot
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_trisurf(df['Y'], df['X'], df['Z'], cmap=plt.cm.jet, linewidth=0.2)
plt.show()

# to Add a color bar which maps values to colors.
surf = ax.plot_trisurf(df['Y'], df['X'], df['Z'], cmap=plt.cm.jet, linewidth=0.2)
fig.colorbar(surf, shrink=0.5, aspect=5)
plt.show()

# Rotate it
ax.view_init(30, 45)
plt.show()

# Other palette
ax.plot_trisurf(df['Y'], df['X'], df['Z'], cmap=plt.cm.jet, linewidth=0.01)
plt.show()

У меня проблемы с пониманием того, как присваивать значения из csv оси x, y, z.

Пример данных, которые я использую, отформатирован как:

структура данных CSV

Пример загрузки данных: Загрузить пример данных

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...