在作图之前,通常加载以下代码
import matplotlib.pyplot as plt #导入图像库
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
plt.figure(figsize = (7,5)) #创建图像区域,指定比例
绘制线性二维图、折线图
实例:在区间(0<=x<=2pi)绘制一条蓝色的正弦虚线,并在每个坐标点标上五角星。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,2*np.pi,50)
y = np.sin(x)
plt.plot(x, y, 'bp--') #常用选项:'b'为蓝色,'p’为五角星(pentagram),‘--’为虚线
plt.show() #显示作图结果
绘制饼图
实例:通过向量 [15,30,45,10]画饼图,注上标签,并将第2部分分离出来。
import matplotlib.pyplot as plt
labels = 'a','b','c','d' #定义标签
sizes = [15,30,45,10] #每一块的比例
colors = ['yellow','gold','red','blue'] #每一块的颜色
explode = (0,0.1,0,0) #突出显示第二块
#autopct设置比例小数位数,startangle设置饼图开始角度
plt.pie(sizes,explode = explode, labels = labels, colors = colors, autopct = '%1.1f%%',shadow= True,startangle = 90)
plt.axis('equal') #显示为圆(避免比例压缩为椭圆)
plt.show()
绘制二维条形直方图,可现实数据的分布情形。
实例:随机生成有1000个元素的服从正态分布的数组,分成10组绘制直方图。
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(1000) #1000个服从正态分布的随机数
plt.hist(x,10) #分成10组进行绘制直方图
plt.show()
绘制箱型图
实例:样本由两组正态分布的随机数据组成,其中,一组数据均值为0,标准差为1,另一种数据均值为1,标准差为1。
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(1000)
d = pd.DataFrame([x,x+1]).T #构造两列DataFrame
d.plot(kind = 'box') #用kind参数指定箱型图box
plt.show()