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()
显示结果如下:







































       
点我分享笔记