Как рассчитать и отобразить диаграмму роста в matplotlib? - PullRequest
0 голосов
/ 01 марта 2020

Говорят, что в день 1.7.2019 в Китае было 1 420 062 022 граждан. Количество граждан в Китае увеличивается с каждым годом на 0,35%. Предполагая, что ежегодный рост числа граждан не изменится, покажите график с ожидаемым числом граждан в Китае в ближайшие 10 лет.

Я застрял на этом. Я знаю, как представить рост на один год, но не знаю, как это сделать с 10, я должен повторить это 10 раз, например:

china1=1420062022
growthchina=china1*0.35/100
china2=china1+growthchina
growthchina2=china2*0.35%/100
china3=china2+growthchina

... и так далее?

Вот где я сейчас нахожусь:

import matplotlib.pyplot as plt
years=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
people_number=1420062022
plt.plot(years, people_number)
plt.title("Number of people in China")
plt.ylabel("(billions)")
plt.show()
plt.close()

Ответы [ 3 ]

1 голос
/ 01 марта 2020
import matplotlib.pyplot as plt
china=1420062022
years=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
population = [china * (1.035 ** i)/100  for i in years]
plt.plot([2020+x for x in years], population)
plt.title("Number of people in China")
plt.ylabel("(Billions)")
plt.xlabel("(Year)")
plt.show()
plt.close()

enter image description here

Демо

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

Рассчитайте так:

china1 = 1420062022
population = [china1 * (1.0035 ** i) for i in range(1, 11)]
0 голосов
/ 01 марта 2020
import matplotlib.pyplot as plt
import numpy as np
years=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
people_number=1420062022
popln=np.zeros(len(years))
popln[0]=people_number
for i in years:
    if i!=10:
        popln[i]=popln[i-1]*1.0035

plt.plot(years, popln)
plt.title("Number of people in China")
plt.ylabel("(billions)")
plt.show()
plt.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...