使用color参数可以指定线条的颜色,有多种提供方式:
plt.plot(x, np.cos(x - 0), color='blue') # 英文字符串
plt.plot(x, np.cos(x - 1), color='g') # 颜色代码(rgbcmyk)
plt.plot(x, np.cos(x - 2), color='0.75') # 0~1之间的灰度
plt.plot(x, np.cos(x - 3), color='#FFDD44') # 十六进制形式
plt.plot(x, np.cos(x - 4), color=(1.0,0.2,0.3)) # RGB元组
plt.plot(x, np.cos(x - 5), color='chartreuse'); # HTML颜色
下面是常用的颜色:
- 蓝色: 'b' (blue)
- 绿色: 'g' (green)
- 红色: 'r' (red)
- 黄色: 'y' (yellow)
- 黑色: 'k' (black)
- 白色: 'w' (white)
可以使用linestyle参数指定线型。线型有两种表示方式:一是英文单词,二是形象符号。
常用的线型和符号对应:
- 实线:
solid
(-
) - 虚线:
dashed
(--
) - 点划线:
dashdot
(-.
) - 实点线:
dotted
(:
)
plt.plot(x, x + 0, linestyle='solid')
plt.plot(x, x + 1, linestyle='dashed')
plt.plot(x, x + 2, linestyle='dashdot')
plt.plot(x, x + 3, linestyle='dotted')
plt.plot(x, x + 4, linestyle='-')
plt.plot(x, x + 5, linestyle='--')
plt.plot(x, x + 6, linestyle='-.')
plt.plot(x, x + 7, linestyle=':')
可以通过marker参数来设置标记的类型:
x = np.linspace(0,10,10)
plt.plot(x, x + 0, marker='.')
plt.plot(x, x + 1, marker=',')
plt.plot(x, x + 2, marker='o')
plt.plot(x, x + 3, marker='+')
更多标记类型:
'.'
实点标记','
像素标记'o'
圆形标记'v'
向下三角符号'^'
向上三角符号'<'
向左三角符号'>'
向右三角符号'1'
三叉星符号'2'
三叉星符号'3'
三叉星符号'4'
三叉星符号's'
方形'p'
五边形'*'
星型'h'
六边形1'H'
六边形2'+'
加号'x'
叉叉'D'
钻石形状'd'
菱形'|'
竖条'_'
横条
此外,还有一种更便捷的做法,那就是组合颜色、线型和标记的设置。三者顺序有时可以随意,但最好使用‘颜色+标记+线型’的顺序。
plt.plot(x, x + 0, 'go-') # 绿色实线圆点标记
plt.plot(x, x + 1, 'c--') # 青色虚线
plt.plot(x, x + 2, '-.k*') # 黑色点划线星型标记
plt.plot(x, x + 3, ':r'); # 红色实点线
对于plot()方法,大部分可配置的参数如下:
参数 | 取值范围 | 说明 |
alpha | 0-1 | 透明度 |
color或c | 颜色格式 | 设置线条颜色 |
label | 字符串 | 为图形设置标签 |
linestyle或ls | 可用线型 | 设置线条风格 |
linewidth或lw | 数值 | 线宽 |
marker | 可用标记 | 标记 |
markeredgecolor或mec | 颜色 | 标记的边缘颜色 |
markeredgewidth或mew | 数值 | 标记的边缘宽度 |
markerfacecolor或mfc | 颜色 | 标记的颜色 |
markersize或ms | 数值 | 标记的大小 |
solid_capstyle |
butt 、round 、projecting |
实线的线端风格 |
solid_joinstyle |
miter 、round 、bevel |
实线的连接风格 |
drawstyle | default 、steps 、steps-pre 、steps-mid 、steps-post |
连线的规则 |
visible | True 、False |
显示或隐藏 |
xdata | np.array | 主参数x的输入 |
ydata | np.array | 主参数y的输入 |
实际上,上面大多数的参数都可以用在matplotlib中的大部分图形绘制中!