невозможно получить желаемый линейный график через datafram.plot () - PullRequest
0 голосов
/ 06 декабря 2018
years = list(map(str,range(1980,2014)))
df_can.loc[['Haiti'],years].plot(kind='line')
plt.title('Immigration from Haiti')
plt.ylabel('Number of immigrants')
plt.xlabel('Years')
plt.show()

Это график, который я получаю сверху кода https://i.stack.imgur.com/nqM5F.png вместо линейного графика.Я пробовал все разные методы, но не смог получить желаемый линейный график.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Для построения линейного графика нам нужны два столбца данных, но приведенный выше код представляет собой две строки, одна из которых содержит данные об иммигрантах, а другая - год с 1980 по 2013 годы.Итак, мы транспонируем это, чтобы получить два столбца, и, поскольку годы являются именами столбцов в строке, мы конвертируем их в целочисленный тип данных.

years = list(map(str,range(1980,2014))
df_canada=df_can.loc[['Haiti'],years].plot(kind='line').transpose()
df_canada.index= df_canada.index.map(int)
plt.title('Immigration from Haiti')
plt.ylabel('Number of immigrants')
plt.xlabel('Years') plt.show()
0 голосов
/ 06 декабря 2018

У меня нет ваших данных, поэтому я не могу воссоздать график, но я уверен, что вы просто пропустили цикл for.

years = list(map(str,range(1980,2014)))
for i in years:
    df_can.loc[['Haiti'],i].plot(kind='line')
plt.title('Immigration from Haiti')
plt.ylabel('Number of immigrants')
plt.xlabel('Years')
plt.show()

Сейчас, когда ваш код стоитВы пытаетесь отобразить все годы и все данные в одной строке.Он интуитивно не знает, чтобы разбить его.

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