У меня есть 3 столбца данных в большом текстовом файле, каждый столбец которого содержит массив 1d. первый столбец (x) — это время в формате даты и времени, второй столбец (y) — частота, а третий столбец (z) — мощность в дБ. Вот пример данных.
x (datetime) y(freq(hz)) z(power(dB))
2017-10-03 14:23:14.787976 80000000.0 3.410517462
2017-10-03 14:23:14.788147 80006250.0 3.74720499199
2017-10-03 14:23:14.788245 80012500.0 3.48457072216
2017-10-03 14:23:14.788334 80018750.0 3.82477967161
2017-10-03 14:23:14.788423 80025000.0 4.10110487733
Я хотел бы построить эти данные для спектрограммы, используя контур matplotlib со временем (x) в качестве оси x, частотой в качестве оси y и мощностью в качестве контура. У меня есть сетка x и y как координата с np.meshgrid, но z по-прежнему является массивом 1d, похоже, формат массива 1d не поддерживает построение с контуром. Должен ли я преобразовать z в массив 2d? Если да, то как мне превратить z в массив 2d?
plt.scatter(x,y, c=z)
и посмотрите, как это выглядит, возможно, поделитесь этим графиком здесь. Если это не дает линии точек, постройтеplt.tricontourf(x,y,z)
. - person ImportanceOfBeingErnest   schedule 13.10.2017