python筆記----matplotlib(1):折線圖
#coding=utf-8 import pandas as pd import numpy as np import matplotlib.pyplot as plt#折線圖
unrate = pd.read_csv("UNRATE.csv") unrate["DATE"] = pd.to_datetime(unrate["DATE"])print(unrate.head(12)) #日期轉換成標準的日期格式
print("-----------------------------")
plt.plot()#畫一張空白圖 plt.show()
print("-----------------------------
#畫出1948-1949年份的失業率1 plt.plot(unrate[0:12]["DATE"],unrate[0:12]["VALUE"],c = "red") #(x軸,y軸) plt.plot(unrate[12:24]["DATE"],unrate[12:24]["VALUE"],c = "blue") plt.xticks(rotation = 45)#x軸座標值斜著45°顯示 plt.xlabel("Month") #x、y軸標籤、標題都不支援中文 plt.ylabel("Unemployment Rate") plt.title("Month Unemployment Trends,1948-1949") plt.show()
print("-----------------------------")
#畫子圖 fig = plt.figure(figsize = (5,3))#畫圖區間 長寬比5:3 ax1 = fig.add_subplot(2,2,1)#2*2子圖的第一個 ax2 = fig.add_subplot(2,2,2) ax3 = fig.add_subplot(2,2,4)
ax1.plot(np.random.randint(1,5,5),np.arange(5)) ax2.plot(np.arange(10)*3,np.arange(10)) plt.show()
print("-----------------------------
#畫出1948-1949年份的失業率2 unrate["MONTH"] = unrate["DATE"].dt.month #增加一列 月份 值:1-12 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()
print("-----------------------------")
#畫所有年份 fig = plt.figure(figsize = (10,6)) color = ["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)# label是個圖示說明 顯示線條表示的意義 plt.plot(subset["MONTH"],subset["VALUE"],c = color[i],label = label) plt.legend(loc = "best")#圖示放在最合適的位置 print(help(plt.legend)) plt.show()