咱们接着上次的继续讲解,先讲一个概念,叫子图的概念。dom
咱们先看一下这段代码spa
import matplotlib.pyplot as plt fig = plt.figure() ax1 = fig.add_subplot(3,2,1) ax2 = fig.add_subplot(3,2,2) ax3 = fig.add_subplot(3,2,3) ax4 = fig.add_subplot(3,2,6) plt.show()
咱们看到plt.figure()这个方法,咱们设置一个总体的图。而后咱们在往这个图中增长咱们须要的子图3d
fig.add_subplot(3,2,1)意思是在figure中,添加一个3行2列的子图,其中,最后一个参数是子图的位置code
咱们在作一下变换,对比一下能够很清楚的看到,咱们看看下面的代码blog
import matplotlib.pyplot as plt fig = plt.figure() ax1 = fig.add_subplot(4,4,1) ax2 = fig.add_subplot(4,4,2) ax3 = fig.add_subplot(4,4,3) ax4 = fig.add_subplot(4,4,4) ax5 = fig.add_subplot(4,4,6) ax6 = fig.add_subplot(4,4,7) ax6 = fig.add_subplot(4,4,16) plt.show()
能够获得以下的一个子图it
import numpy as np fig = plt.figure(figsize=(6,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()
咱们能够看到,咱们设置figsize=(6,6)咱们能够图的大小。设置两个图class
咱们在画图的时候,能够直接经过ax1.plot,ax2.plot进行随机数据配置import
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()
能够看到咱们能够设置折线图的不一样的颜色。随机数
下面咱们看看这个例子配置
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] plt.plot(subset['MONTH'],subset['VALUE'],c=colors[i]) plt.show()
咱们把数据经过不一样的颜色的线条画出来了,可是不知道每条线表明的是什么意思。下面咱们给折线图加上一个图例:
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') plt.show()
咱们经过label=label 设置好一个label为图例,而后进行设置,默认为plt.legend(loc='best')图例显示在右边
咱们作下点单的修改,让整个折线图完整标准的显示
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='upper left') plt.xlabel('Month, Integer') plt.ylabel('Unemployment Rate, Percent') plt.title('Monthly Unemployment Trends, 1948-1952') plt.show()
咱们增长了整个折线图的XY轴表示,图例位置调整为左边。添加了折线图的标题。
今天讲解就先到这里,咱们能够看到,经过Matplotlib库,能够很轻松的画出咱们想要的图。
感谢各位的阅读,谢谢~~