Установка оси X вручную - PullRequest
0 голосов
/ 18 марта 2020

Я хочу сделать 5 линейных графиков, сначала нужно просто включить значения 1960 года и 5 точек (по одному для каждой страны), следующий график должен включать значения 1960 и 1961 годов и значения, соединяющие линии для каждой страны, et c. Последний график должен включать значения за все годы. Но я хочу, чтобы ось x была постоянной с 1960 по 1964 год.

Country Name    1960        1961        1962        1963        1964
Pakistan        44.98869    46.065231   47.198878   48.387301   49.627623
Indonesia       87.751068   90.098394   92.518377   95.015297   97.596733
United States   180.671     183.691     186.538     189.242     191.889
India           450.547679  459.642165  469.07719   478.825608  488.848135
China           667.07      660.33      665.77      682.335     698.355

Это хорошо делает линейные графики, однако у меня проблемы с установкой оси x, команда ax.set_xlim(1960,1964) не делает ничего хорошего, может кто-нибудь помочь?

years=list((range(1960,1965)))
for i in years:
    yearsi=list((range(1960,i+1)))
    yearsi=map(str,yearsi)
    ax=newdf.pivot_table(values=yearsi, columns='Country Name').plot()
    ax.set_ylim([0, 700])

1 Ответ

1 голос
/ 18 марта 2020

Проблема в том, что введенные вами годы являются строками, а не целыми числами. Правильный xlim это просто range(0, 5). В последних двух строках также правильно установлены xticks и xticklabels.

years = list((range(1960,1965)))
for i in years:
    yearsi = list((range(1960, i+1)))
    yearsi = map(str, yearsi)
    ax = df.pivot_table(values=yearsi, columns='Country Name').plot()
    ax.set_ylim([0, 700])
    ax.set_xticks(range(5))
    ax.set_xticklabels(range(1960, 1966))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...