Очень много строк в одном сюжете в matplotlib - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь построить 21 строку в matplotlib из файла CSV. Я сделал «грубый» график, используя pandas, выполнив df.plot(x='Date'). enter image description here

Однако я не пользуюсь большим успехом, используя 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

1 Ответ

0 голосов
/ 21 марта 2020

Найдена ошибка в команде, должно быть ax.plot(df['Date'], df['114 Skattar vöru og þjónustu'], label='Skattar á vöru og þjónustu]'). Работает отлично. Тем не менее думаю, что все данные должны быть проще составить: D

Извините, что поставил вопрос без причины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...