matplotlib之pyplot模块plot函数基础三(线条外观:Line2d关键字参数**kwargs)

plot函数的基本调用签名为plot([x], y, [fmt], *, data=None, **kwargs)
plot函数与线条外观相关的参数有两个:

  • 格式字符串fmtfmt'[marker][line][color]'即标记、线形、颜色三部分组成。
  • Line2d关键字参数**kwargs:由一系列Line2d属性相关的关键词参数构成。

这两个参数都可以定义线条的外观属性。
格式字符串fmt比较简单,只能定义标记类型、线形、颜色这三类线条属性。matplotlib之pyplot模块plot函数基础二(线条外观:格式字符串fmt)简单说明了plot函数使用格式字符串fmt参数
关键字参数**kwargs功能比较强大,除了fmt能够定义的内容外,还可以定义线条宽度、标记大小、标记外框属性等。
如果两个参数都对某一外观属性进行了定义,以关键字参数定义为准。即关键字参数**kwargs参数优先级高于fmt参数。

关键字参数**kwargs常用Line2d属性

由于plot函数绘制的结果为Line2d对象,因此关键字参数**kwargsLine2d属性,常用的属性、属性别名、功能、取值如下表所示。

属性名 别名 功能 取值
color c 线条颜色 color
linestyle ls 线形 ‘-’, ‘–’, ‘-.’, ‘:’, ‘’,空值则不显示线条
linewidth lw 线宽 浮点数
marker 标记样式 标记样式字符串或MarkerStyle
markeredgecolor mec 标记边框颜色 color
markeredgewidth mew 标记边框宽度 浮点数
markerfacecolor mfc 标记颜色 color
markersize ms 标记大小 浮点数

关键字参数**kwargs的默认值

关键字参数**kwargs的默认值可以认为直接读取rcParams与线条相关的参数,因此,当plot函数没有外观属性时就会按照rcParams参数进行设置。
部分取值如下:

#lines.linewidth: 1.5               # line width in points
#lines.linestyle: -                 # solid line
#lines.color:     C0                # has no affect on plot(); see axes.prop_cycle
#lines.marker:          None        # the default marker
#lines.markerfacecolor: auto        # the default marker face color
#lines.markeredgecolor: auto        # the default marker edge color
#lines.markeredgewidth: 1.0         # the line width around the marker symbol
#lines.markersize:      6           # marker size, in points
#lines.antialiased: True            # render lines in antialiased (no jaggies)

关键字参数**kwargs应用演示

下面代码演示了常见关键字参数**kwargs的使用。

import matplotlib.pyplot as plt

plt.plot([1, 1], color='#ff0000', linestyle="--", linewidth=3, marker='^', markersize=10,
         markerfacecolor='#00ff00', markeredgecolor='#ff0000', markeredgewidth=2)
# 参数别名演示
plt.plot([1.5, 1.5], c='#ff0000', ls="--", lw=3, marker='^', ms=10,
         mfc='#00ff00', mec='#ff0000', mew=2)
plt.axis('off')
plt.show()

在这里插入图片描述

关键字参数**kwargs与格式字符串fmt混合应用演示

根据图可知,关键字参数**kwargs在线条外观属性设置中拥有高优先级,会覆盖掉格式字符串fmt的设置。

import matplotlib.pyplot as plt

plt.plot([1, 1], 'ob--',color='#ff0000', linestyle="-.", linewidth=3, marker='^')
plt.axis('off')
plt.show()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/mighty13/article/details/113790992