目录
1、pyplot: 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。(常用)
2、pylab:将Matplotlib和Numpy合并的模块,模拟Matlab的编程环境。(不推荐使用)
3、面向对象的方式:Matplotlib的精髓,更基础和底层的方式。(常用)
1、Matplotlib绘图标记使用plot()方法的marker参数定义
(1)Matplotlib线的类型用linestyle参数来定义:
(3)Matplotlib线的宽度用linewidth参数来定义
(4)Matplotlib轴标签使用xlabel()和ylabel()方法
(7)Matplotlib网格线使用pyplot中的grid()方法
(8)绘制多图使用pyplot中的subplot()和subplots()方法
一、Matplotlib绘图的编程方式:
1、pyplot: 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。(常用)
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(0,10)
y=np.random.randn(len(x))
plt.plot(x,y)
plt.title('plplot')
plt.show()
2、pylab:将Matplotlib和Numpy合并的模块,模拟Matlab的编程环境。(不推荐使用)
from pylab import *
x=arange(0,10)
y=randn(len(x))
plot(x,y)
title('pylab',size=15)
show()
总结pyplot与pylab的区别:从pylab代码可以看出,通过pylab可以直接调用函数。例:arange(0,10),而不是np.arange(0,10)
3、面向对象的方式:Matplotlib的精髓,更基础和底层的方式。(常用)
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(0,10)
y=np.random.randn(len(x))
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
l,=plt.plot(x,y)
t=ax.set_title('object')
plt.show()
总结:使用面向对象编程,需要画布(FigureCanvas)、图像(Figure)、坐标轴(Axes)
编程方式 | 优势 | 劣势 |
pyplot | 简单易用,交互使用方便,可以根据命令实时作图 | 底层定制能力不足 |
pylab | 完全封装,环境最接近Matlab | 和matplotlib设计理念不太一致,不利于学习matplotlib |
面向对象 | 接近Matplotlib基础和底层的方式 | 9难度稍大 |
实战中,根据需求,综合使用pyplot和面向对象的方式。
二、Matplotlib绘图基础
1、Matplotlib绘图标记使用plot()方法的marker参数定义
merker样式参考:
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(0,10)
plt.plot(x,marker='+')
plt.show()
2、Matplotlib绘图线
定义线的类型、颜色与大小等
(1)Matplotlib线的类型用linestyle参数来定义:
类型(简写) | 说明 |
'-' | 实线 |
':' | 点虚线 |
'--' | 破折线 |
'-.' | 点划线 |
''或' ' | 不画线 |
'steps' | 阶梯线 |
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(0,10)
plt.plot(x,marker='*',linestyle=':')
plt.show()