导入numpy库、pandas库和Matplotlib库
import numpy as np import pandas as pd import matplotlib.pyplot as plt
1、将画板分为几个子图
#创建一个画板 fig = plt.figure() #创建子图,参数n、m、k分别表示把画板分为n×m块子画板,子图在k子画板上 ax1 = fig.add_subplot(2, 2, 1) ax2 = fig.add_subplot(2, 2, 2) ax3 = fig.add_subplot(2, 2, 4) plt.show()
OUT:
2、定义画板的长和宽
#figsize()定义画板的长和宽 fig = plt.figure(figsize=(10, 6)) ax1 = fig.add_subplot(2, 1, 1) ax2 = fig.add_subplot(2, 1, 2) ax1.plot(np.random.randint(1, 5, 5), np.arange(5)) ax2.plot(np.arange(10)*3, np.arange(10)) plt.show()
OUT:
3、将折线画在同一个图中
unrate = pd.read_csv("UNRATE.csv") unrate['DATE'] = pd.to_datetime(unrate['DATE']) 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()
OUT:
4、添加说明框
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) plt.plot(subset['MONTH'], subset['VALUE'], c=color[i], label=label) #loc:说明框定位,best:自动选择 plt.legend(loc='best') plt.show()
OUT: