【python最小二乘法计算拟合多项式预测更新】肺炎确诊武汉全国趋势对比图(最新截至2020-2-6)
import numpy as np
import matplotlib.dates as mdates
import pylab as plt
import datetime as dt
plt.mpl.rcParams['font.sans-serif'] = ['SimHei']
plt.mpl.rcParams['axes.unicode_minus'] = False
date2_1 = dt.datetime(2020,1,23)
-
date2_2 = dt.datetime(2020,2,7)
delta2 = dt.timedelta(days=1)
dates2 = mdates.drange(date2_1, date2_2, delta2)
x = np.arange(1, 16, 1)
y = np.array([105,180,323,371,1291,840,1032,1220,1347,1921,2103,2345,3156,2987,2447])
y1 = np.array([ 250,444,680,760,1771,1450,1737,1982,2102,2580,2829,3235,3887,3694,3143])
y = np.array([105,180,323,371,1291,840,1032,1220,1347,1921,2103,2345,3156,2987,2447])
y1 = np.array([ 250,444,680,760,1771,1450,1737,1982,2102,2580,2829,3235,3887,3694,3143])
z1 = np.polyfit(x, y, 6)
p1 = np.poly1d(z1)
p1 = np.poly1d(z1)
z2 = np.polyfit(x, y1, 6)
p2= np.poly1d(z2)
p2= np.poly1d(z2)
plt.subplot(121) # 一行两列,这是第一个图
plt.plot(dates2 , y, 'b', label='武汉确诊')
plt.plot(dates2 , p1(x), 'g', label='武汉趋势线')
plt.title('肺炎武汉确诊人数曲线')
plt.legend()
plt.legend()
ax = plt.gca()
for label in ax.xaxis.get_ticklabels():
label.set_rotation(90)
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m-%d'))
ax.xaxis.set_major_locator(mdates.DayLocator())
plt.subplot(122)
plt.plot(dates2 , y1, 'b', label='全国确诊')
plt.plot(dates2 , p2(x), 'g', label='全国趋势线')
plt.title('肺炎全国确诊人数曲线')
plt.legend()
plt.legend()
ax = plt.gca()
for label in ax.xaxis.get_ticklabels():
label.set_rotation(90)
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m-%d'))
ax.xaxis.set_major_locator(mdates.DayLocator())
plt.show()