目录
前言
简单的记录一下上课内容
一、Matplotlib 概述
matplotlib库是建立在Numpy基础上的Python绘图库! 导入第三方包Numpy import numpy as np -matplotlib官网提供了三种API:pyplot API、object-oriented API、pylab API ! 导入matplotlib库的绘图模块 pyplot import matplotlib.pyplot as plt
1)pyplot API是使用pyplot模块开发的接口,该接口封装了一系列与MATLAB命令同名的函数,使用这些函数可以像使用MATLAB命令一样快速地绘制图表!
2)object-oriented API是面向对象的接口,该接口封装了一系列对应图表元素的类,只有创建这些类的对象并按照隶属关系组合到一起才能完成一次完整的绘图!
3)pylab API是使用pylab模块开发的接口,它最初是为了模仿MATLAB的工作方式而设计的,包括pyplot、numpy模块及一些其它附加功能,适用于Python交互环境中!
二、使用步骤
1.引入库
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
2.简单折线图
代码如下(示例):
fig=plt.figure(figsize=(5,10), facecolor = 'm') #facecolor加个背景颜色 #显示中文 plt.rcParams['font.family'] = ['sans-serif'] plt.rcParams['font.sans-serif'] = ['SimHei'] plt.subplot(3,2,2) #三行两列 x = [1,2,3,4] y = [1,2,3,4] plt.plot(x,y,color='red',linestyle='--',marker='^',markerfacecolor='k') # color设置线条的颜色,linestyle设置线条样式,marker设置折现转折点样式, markerfacecolor设置转折点的颜色 plt.xlabel('x轴') #x轴名称 plt.ylabel('y轴') #y轴名称 plt.show()
2.1 简单的多折线图
x1 = np.arange(0,4)
y1 = [2,3,5,6]
y2 = [7,9,10,11]
plt.plot(x1,y1,y2)
plt.show()
2.2 加一条指向任意值的线条
import numpy as np
import matplotlib.pyplot as plt
x1 = np.arange(0,4)
y1 = [2,3,5,6]
y2 = [7,9,10,11]
plt.plot(x1,y1,y2)
plt.annotate('最大值',xy=(3,11),xytext=(2,3),arrowprops={'arrowstyle':'->'})
plt.show()
3.绘制堆积面积图
语法:stackplot(x,y,labels=(),baseline='zero',data=None,args,*kwargs) labels:每组折线级填充区域的标签 baseline:计算基线的方法。'zero'-恒定零基线,简单堆积图。 'sym'-对称于零基线'wiggle''weighted_wiggle'
# 绘制A,B,C物流公司全年的物流费用堆积面积图。
# 要求底部蓝色区域代表A公司的物流费用,中间红色区域代表C公司的物流费用,
# 顶部黄色区域代表B公司的物流费用
data1 = pd.read_excel("物流公司物流费统计表.xlsx")
x1=data1['月份']
y1 = data1['A公司']
y2 = data1['B公司']
y3 = data1['C公司']
plt.stackplot(x1,y1,y2,y3,lab