import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# ------------------------1、基础------------------------
unrate = pd.read_csv("unrate.csv")
unrate["DATE"] = pd.to_datetime(unrate["DATE"])
# print(unrate.head(12))
first_twelve = unrate[0:12]
plt.plot(first_twelve["DATE"],first_twelve["VALUE"])
plt.xticks(rotation=90) # 倾斜90度展示
plt.xlabel("Month")
plt.ylabel("Unemployment Rate")
plt.title("Monthly Unemployment Trends 1948")
plt.show()
# ------------------------2、画子图------------------------
fig = plt.figure(figsize=(10,6))# 10代表长度,6代表宽度
ax1=fig.add_subplot(2,2,1) # 添加子图
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,4) # 第三个数字(1、2、4)代表:2*2个方块图中,显示的方块
# 在子图ax1 ax2上画图
ax1.plot(np.random.randint(1,5,5),np.arange(5))
ax2.plot(np.arange(10)*3,np.arange(10))
plt.show()
# ------------------------3、双线------------------------
unrate['MONTH'] = unrate['DATE'].dt.month
unrate['MONTH'] = unrate['DATE'].dt.month
fig = plt.figure(figsize=(6,3))
plt.plot(unrate[0:12]['MONTH'], unrate[0:12]['VALUE'], c='red')
plt.plot(unrate[12:24]['MONTH'], unrate[12:24]['VALUE'], c='blue')
plt.show()
# ------------------------4、各条线代表含义------------------------
unrate['MONTH'] = unrate['DATE'].dt.month
unrate['MONTH'] = unrate['DATE'].dt.month
fig = plt.figure(figsize=(10, 6))
colors = ['red', 'blue', 'green', 'orange', 'black']
for i in range(5):
start_index = i * 12
end_index = (i + 1) * 12
subset = unrate[start_index:end_index]
label = str(1948 + i)
plt.plot(subset['MONTH'], subset['VALUE'], c=colors[i], label=label)
plt.legend(loc='best') # best 将标签label 根据实际情况 放在最合适的位置
plt.xlabel("Month,Integer")
plt.ylabel("Unemployment Rate,Percent")
plt.title("Monthly Unemployment Trends,1948-1952")
plt.show()