У меня есть файл данных, в котором есть 3 столбца, представляющих значения x, y и z. Точки z получены из отношения между x и y (поэтому для каждой пары x [i] y [i] есть az [i]). Я хотел бы, используя Matplotlib, получить контурный график и раскрасить поверхность по значениям z, а затем аналогично трехмерному графику. Во многих примерах я видел, что можно использовать numpy для создания сетки x и y (что я не могу сделать из-за огромного количества данных), а затем определить z как f (x, y), но, как я уже сказал У меня уже есть значения z для х и у. С GnuPlot это довольно просто сделать, но в этом случае я не могу понять, как это происходит. Можете ли вы помочь? Заранее спасибо
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=pd.read_csv('data.dat')
x=np.array(data.iloc[:,0])
y=np.array(data.iloc[:,1])
z=np.array(data.iloc[:,2])
contour = plt.tricontour(x, y, z, 20, colors='k', extent=[min(x), max(x), min(y), max(y)], origin='lower', alpha=0.3) #obtain contour plot
plt.imshow(z, extent=[min(x), max(x), min(y), max(y)], origin='lower') #of course here comes the error about the shape of z