matplotlib入门基础(三)画线和标记
这篇文章同样以面向对象风格为主,介绍画线(line)和标记(marker)的方法。
这篇文章只有一项内容:plot()函数的用法
以创建figure,创建axes,用axes画图这三个步骤(面向对象风格),贴出一段基础代码
import matplotlib.pyplot as plt
x = [1,3,5,7]
y = [4,9,6,8]
# 创建figure
figure = plt.figure()
# 创建axes
axes = figure.add_subplot(1,1,1)
# 用axes画图
# 可以用fmt简要设置参数,也可以用参数逐一赋值的方式设置参数,这里用参数逐一赋值
# 扩展参数:Line2D属性参数
axes.plot(x,y,
scalex=True, #default: True
scaley=True, #default: True
data=None,
# 扩展参数:Line2D属性参数(部分)
color='blue', #线的颜色
linestyle='-', #线型
linewidth=2, #线宽
marker='o', #标记
markeredgecolor='black', #标记边缘颜色
markeredgewidth=4, #标记边缘宽度
markerfacecolor='red', #标记内部颜色
markersize=20 #标记大小
)
plt.show()
axes.plot()参数中的scalex=True和scaley=True表示控制x轴和y轴的显示范围以便显示出所画的内容,例如,这里x数据的最小值和最大值分别为1和7,那么x轴的显示范围必须为包含1~7的适当范围,否则画的内容无法显示。axes.plot()参数还包括Line2D属性参数,这里只设置部分Line2D属性参数。其余参数参考官网。
(axes.plot()函数完整参数参考官网:matplotlib.axes.Axes.plot — Matplotlib 3.5.2 documentation)
执行可以得到以下图片,图中已经注释所设置的参数对应的效果
此外,设置标记形状、线型、颜色三项时,可以用fmt,即format string,fmt='[marker][line][color]',和参数赋值的方法等效,例如axes.plot(x,y,'o-r'),这里的fmt='o-r',标记形状为'o',表示圆形标记,线型为'-',表示实线,颜色为'r',表示红色,代码省略,效果如下
其他的包含Line2D属性参数的函数也可以参考这里的效果说明,Line2D属性参数的设置方法都是通用的。
所有marker形状可以参考:matplotlib.markers — Matplotlib 3.5.2 documentation
所有linestyle形状可以参考:Linestyles — Matplotlib 3.5.2 documentation
所有颜色可以参考:Specifying Colors — Matplotlib 3.5.2 documentation
同样,上面的一段代码等效于(pyplot风格)
import matplotlib.pyplot as plt
x = [1,3,5,7]
y = [4,9,6,8]
# pyplot函数用法
plt.plot(x,y,
scalex=True, #default: True
scaley=True, #default: True
data=None,
# 扩展参数:Line2D属性参数(部分)
color='blue',
linestyle='-',
linewidth=2,
marker='o',
markeredgecolor='black',
markeredgewidth=4,
markerfacecolor='red',
markersize=20
)
plt.show()