У меня есть датафрейм, который я пытаюсь построить.
Я использую следующий код:
def vizData3D(df, asg, dueDate):
due_final = datetime.datetime.strptime(dueDate, "%Y-%m-%d")
df['Time of Last Submission'] = pd.to_datetime(df['Time of Last Submission'], errors='coerce')
start = due_final - datetime.timedelta(days=15)
end = df['Time of Last Submission'].max() + datetime.timedelta(days=1)
mask = (start < df['Time of Last Submission'])
df = df.loc[mask]
df.set_index('Student')
df['Num Lines Last Attempt'] = df['Num Lines Last Attempt'].apply(pd.to_numeric)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = df['Num Lines Last Attempt']
y = df['Time of Last Submission']
z = df['Total attempts']
#print(df[df['Num Lines Last Attempt'] < 0].count())
ax.scatter(x, y, z, c='r', marker='o')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
Когда я пытаюсь запустить это, я получаю ошибку:
ValueError: view limit minimum -0.05 is less than 1 and is an invalid Matplotlib date value. This often happens if you pass a non-datetime value to an axis that has datetime units
Что не имеет никакого смысла. Я нанес все эти данные на другие 2D-графики, и они сработали. Любые предложения о том, как проверить, что не так или исправить? У кого-нибудь есть решение для этого?