Я пытаюсь построить 3 переменные x, y, z на двухмерном графике, где x (дата) на оси x, y (время) на оси y и z (температура) отображаются с помощью шкалы цветов.У меня есть три переменные, доступные в DataFrame pandas, и я создал дополнительный столбец с номером даты, чтобы matplotlib мог с ним работать.
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
data=pd.DataFrame()
data['datenum']=mdates.date2num(data['Date'])
Пример:
Date Time Tgrad datenum
0 2016-08-01 00 -0.841203 736177.0
1 2016-08-01 01 -0.629176 736177.0
2 2016-08-01 02 -0.623608 736177.0
3 2016-08-01 03 -0.615145 736177.0
4 2016-08-01 04 -0.726949 736177.0
5 2016-08-01 05 -0.788864 736177.0
6 2016-08-01 06 -0.794655 736177.0
7 2016-08-01 07 -0.775724 736177.0
8 2016-08-01 08 -0.677951 736177.0
Я пытался следовать этим советам:
2D-график matplotlib из значений x, y, z Даты в xaxis для сюжета matplotlib с imshow
Но они не увенчались успехом из-за неправильной формы моих входных данных, я думаю.Я пробовал что-то вроде этого:
fig, ax = plt.subplots()
ax.imshow(data['Tgrad'], extent = [min(data['datenum']), max(data['datenum']),min(data['Time']), max(data['Time'])], cmap="autumn", aspect = "auto")
ax.xaxis_date()
Но получить ValueError:
ValueError: setting an array element with a sequence
Нужно ли иметь данные в виде массива или любого другого типа?И как я могу отобразить данные, если они у меня есть в другом формате?
Спасибо за помощь.Vroni