matplotlib画图自定义marker
在matplotlib工具箱中可以画marker的高级作图函数一共有两个,分别为plot和scatter,可以画出多种marker。但如果需要绘制一些特殊的marker,则必须通过自的定义marker来实现。一般有两种方式可以实现,一是在绘图中插入特殊marker的icon图片1,二是借助于matplotlib.path中的Path类,自定义marker的Path参数。但无论何种方式,实现的marker都要具有一般marker的特点。
marker的特点
- 固定大小:marker的大小只依赖于markersize关键字定义的数值,不随着绘制的图形的放大或缩小而变化;
- 可改变方向: matplotlib默认支持的某些marker可以通过传入的参数调整marker的方向
基于marker的上述两个特点,因此不能简单地通过plot绘制特殊marker的折线或者简单地进行图片插入实现。
通过插入图片实现自定义marker
from matplotlib
import pyplot as pltimport numpy as np
'图片插入(普通)'
N = 100
x = np.linspace(0, 10, N)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.imshow(plt.imread('icon\\icon-test.png'), extent=(x[0],x[0]+1,y[0],y[0]+