Я пытаюсь построить 21 строку в matplotlib из файла CSV. Я сделал «грубый» график, используя pandas, выполнив df.plot(x='Date')
. ![enter image description here](https://i.stack.imgur.com/T7HJr.png)
Однако я не пользуюсь большим успехом, используя matplotlib. Вещи, которые я пробовал до сих пор:
# Start by creating figure and axis
fig, ax = plt.subplots(figsize=(10, 10))
# Plot the data
ax.plot(df['Date'], df['1 Heildartekjur'], label='Heildartekjur')
ax.plot(df['Date'], df['11 Skatttekjur'], label='Skatttekjur')
ax.plot(df['Date'], df['111 Skattar á tekjur og hagnað'], label='Skattar á tekjur og hagnað')
ax.plot(df['Date'], df['112 Skattar á launagreiðslur og vinnuafl'], label='Skattar á launagreiðslur og vinnuafl')
ax.plot(df['Date'], df['113 Eignarskattar'], label='Eignarskattar')
ax.legend();
Это работает нормально, но как только я добавляю еще одну строку, я получаю сообщение об ошибке:
# Start by creating figure and axis
fig, ax = plt.subplots(figsize=(10, 10))
# Plot the data
ax.plot(df['Date'], df['1 Heildartekjur'], label='Heildartekjur')
ax.plot(df['Date'], df['11 Skatttekjur'], label='Skatttekjur')
ax.plot(df['Date'], df['111 Skattar á tekjur og hagnað'], label='Skattar á tekjur og hagnað')
ax.plot(df['Date'], df['112 Skattar á launagreiðslur og vinnuafl'], label='Skattar á launagreiðslur og vinnuafl')
ax.plot(df['Date'], df['113 Eignarskattar'], label='Eignarskattar')
ax.plot(df['Date'], df['114 Skattar vöru og þjónustu'], label='Skattar á vöru og þjónustu')
ax.legend();
KeyError: '114 Skattar vöru og þjónustu'
Я скопировал / вставьте это из файла csv, чтобы орфография не была проблемой.
Я пытался df.unstack(fill_value=0).plot()
image = ax.plot(df['Date'], df)
выдает ошибку:
ValueError: view limit minimum -36866.545000000006 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
, но «Дата» - это единицы времени и даты.
На сайте документации matplotlib я не нашел ничего, что могло бы мне помочь. Я не пробую петли for
, просто хочу, чтобы Date
находился на оси x. Большая часть учебника, который я нахожу на inte rnet, состоит из 3 строк и использует df.plot(x, x, legend='Legend')
3 раза. Я не уверен, как я могу поделиться файлом CSV, но я был бы рад сделать это.
Я почти уверен, что это легко, но я еще не понял этого: D