Метка оси X отсутствует на графике Matplotlib Dataframe - PullRequest
0 голосов
/ 05 ноября 2018

У меня общая проблема, но другие рекомендованные решения, кажется, не работают, включая это

Метки [Годы] на оси X не отображаются, если используется тип Линия. Я ценю, что кто-то запускает код и помогает разобраться. Заранее спасибо.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.read_csv('https://raw.githubusercontent.com/princeinzion/NigeriaGDPtoPopulation/master/API_NGA_DS2_en_csv_v2_10185307.csv', skiprows=4)

df = data.loc[[620, 1168], '1999':'2017']

df = df.T

dfp = df.pct_change()

dfp = dfp.reset_index()
dfp.columns = ['Years', 'Population', 'GDP']
dfp

fig = plt.figure(figsize=(20,10))

ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

dfp.plot(kind='line',x='Years',y='GDP', color='red', ax=ax1)
dfp.plot(kind='line',x='Years',y='Population', color='blue', ax=ax2)

plt.show()

Ниже приведен результат, который я получаю. Годы не отображаются на оси X. Line Chart

1 Ответ

0 голосов
/ 05 ноября 2018

Преобразовать год в тип данных datetime, например:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.read_csv('https://raw.githubusercontent.com/princeinzion/NigeriaGDPtoPopulation/master/API_NGA_DS2_en_csv_v2_10185307.csv', skiprows=4)

df = data.loc[[620, 1168], '1999':'2017']

df = df.T

dfp = df.pct_change()

dfp = dfp.reset_index()
dfp.columns = ['Years', 'Population', 'GDP']
dfp['Years'] = pd.to_datetime(dfp['Years'])
dfp

fig = plt.figure(figsize=(20,10))

ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

dfp.plot(kind='line',x='Years',y='GDP', color='red', ax=ax1)
dfp.plot(kind='line',x='Years',y='Population', color='blue', ax=ax2)

plt.show()

Выход:

enter image description here

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