Matplotlib 绘图标记
绘图过程如果我们想要给坐标自定义一些不一样的标记,就可以使用 plot() 方法的 marker 参数来定义。
以下实例定义了实心圆标记:
实例
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])
plt.plot(ypoints, marker = 'o')
plt.show()
import numpy as np
ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])
plt.plot(ypoints, marker = 'o')
plt.show()
显示结果如下:

marker 可以定义的符号如下:
| 标记 | 符号 | 描述 |
|---|---|---|
| "." | ![]() |
点 |
| "," | ![]() |
像素点 |
| "o" | ![]() |
实心圆 |
| "v" | ![]() |
下三角 |
| "^" | ![]() |
上三角 |
| "<" | ![]() |
左三角 |
| ">" | ![]() |
右三角 |
| "1" | ![]() |
下三叉 |
| "2" | ![]() |
上三叉 |
| "3" | ![]() |
左三叉 |
| "4" | ![]() |
右三叉 |
| "8" | ![]() |
八角形 |
| "s" | ![]() |
正方形 |
| "p" | ![]() |
五边形 |
| "P" | ![]() |
加号(填充) |
| "*" | ![]() |
星号 |
| "h" | ![]() |
六边形 1 |
| "H" | ![]() |
六边形 2 |
| "+" | ![]() |
加号 |
| "x" | ![]() |
乘号 x |
| "X" | ![]() |
乘号 x (填充) |
| "D" | ![]() |
菱形 |
| "d" | ![]() |
瘦菱形 |
| "|" | ![]() |
竖线 |
| "_" | ![]() |
横线 |
| 0 (TICKLEFT) | ![]() |
左横线 |
| 1 (TICKRIGHT) | ![]() |
右横线 |
| 2 (TICKUP) | ![]() |
上竖线 |
| 3 (TICKDOWN) | ![]() |
下竖线 |
| 4 (CARETLEFT) | ![]() |
左箭头 |
| 5 (CARETRIGHT) | ![]() |
右箭头 |
| 6 (CARETUP) | ![]() |
上箭头 |
| 7 (CARETDOWN) | ![]() |
下箭头 |
| 8 (CARETLEFTBASE) | ![]() |
左箭头 (中间点为基准) |
| 9 (CARETRIGHTBASE) | ![]() |
右箭头 (中间点为基准) |
| 10 (CARETUPBASE) | ![]() |
上箭头 (中间点为基准) |
| 11 (CARETDOWNBASE) | ![]() |
下箭头 (中间点为基准) |
| "None", " " or "" | 没有任何标记 | |
| '$...$' | ![]() |
渲染指定的字符。例如 "$f$" 以字母 f 为标记。 |
以下实例定义了 * 标记:
实例
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])
plt.plot(ypoints, marker = '*')
plt.show()
import numpy as np
ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])
plt.plot(ypoints, marker = '*')
plt.show()
显示结果如下:

以下实例定义了下箭头:
实例
import matplotlib.pyplot as plt
import matplotlib.markers
plt.plot([1, 2, 3], marker=matplotlib.markers.CARETDOWNBASE)
plt.show()
import matplotlib.markers
plt.plot([1, 2, 3], marker=matplotlib.markers.CARETDOWNBASE)
plt.show()
显示结果如下:

fmt 参数
fmt 参数定义了基本格式,如标记、线条样式和颜色。
fmt = '[marker][line][color]'
例如 o:r,o 表示实心圆标记,: 表示虚线,r 表示颜色为红色。
实例
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, 'o:r')
plt.show()
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, 'o:r')
plt.show()
显示结果如下:

线类型:
| 线类型标记 | 描述 | |
|---|---|---|
| '-' | 实线 | |
| ':' | 虚线 | |
| '--' | 破折线 | |
| '-.' | 点划线 | |
颜色类型:
| 颜色标记 | 描述 | |
|---|---|---|
| 'r' | 红色 | |
| 'g' | 绿色 | |
| 'b' | 蓝色 | |
| 'c' | 青色 | |
| 'm' | 品红 | |
| 'y' | 黄色 | |
| 'k' | 黑色 | |
| 'w' | 白色 | |
标记大小与颜色
我们可以自定义标记的大小与颜色,使用的参数分别是:- markersize,简写为 ms:定义标记的大小。
- markerfacecolor,简写为 mfc:定义标记内部的颜色。
- markeredgecolor,简写为 mec:定义标记边框的颜色。
设置标记大小:
实例
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20)
plt.show()
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20)
plt.show()
显示结果如下:

设置标记外边框颜色:
实例
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20, mec = 'r')
plt.show()
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20, mec = 'r')
plt.show()
显示结果如下:

设置标记内部颜色:
实例
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20, mfc = 'r')
plt.show()
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20, mfc = 'r')
plt.show()
显示结果如下:

自定义标记内部与边框的颜色:
实例
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20, mec = '#4CAF50', mfc = '#4CAF50')
plt.show()
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20, mec = '#4CAF50', mfc = '#4CAF50')
plt.show()
显示结果如下:







































点我分享笔记