(1)子图画法
import pandas as pd
import matplotlib.pyplot as plt
unrate = pd.read_csv(r"E:\PyCharm\UNRATE.csv")
fig = plt.figure() #调用plt.figure()方法
ax1 = fig.add_subplot(2,2,1) #在2乘2的表格中该图站第一个位置
ax2 = fig.add_subplot(2,2,2) #在2乘2的表格中该图站第二个位置
ax2 = fig.add_subplot(2,2,4) # 在2乘2的表格中该图站第四个位置
plt.show()
如下图:
(2)一张图上多个子图
fig = plt.figure(figsize(3,3)) #子图为3乘3大小
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,4)
ax1.plot(np.random.randint(1,5,5), np.arange(5)) #x值为大小随机的5个数,y值为从0开始的5个数
ax2.plot(np.arange(10)*2, np.random.randint(0,10,10))
plot.show()
如下图:
(3)一张图上画出多折线
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
unrate = pd.read_csv(r"E:\PyCharm\UNRATE.csv")
unrate["DATE"] = pd.to_datetime(unrate["DATE"]) #把日期改为特定格式
unrate["MONTH"] = unrate["DATE"].dt.month #取出月份,生成MONTH列数据
fig = plt.figure(figsize=(10,6))
plt.plot(unrate[0:12]["MONTH"], unrate[0:12]["VALUE"], c='red')
plt.plot(unrate[12:24]["MONTH"], unrate[12:24]["VALUE"], c='green')
plt.show()
结果为:
fig = plt.figure(figsize=(10,6))
colors = ['red', 'yellow', 'blue', 'green', '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) #label是下图左上角方框中的东西 ,颜色对应年份
plt.legend(loc='upper left') #把图例在左上角显示出来
plt.xlabe1("MONTH")
plt.ylabel("Unemployment Rate")
plt.title("Monthly Unemployment Trends, 1948-1952")
plt.show()
结果为: