欢迎关注”生信修炼手册”!
在matplotlib中,可以通过以下几种函数在图中添加箭头和文字标记
1. text,用于添加文字
2. arrow,用于添加箭头
3. annotate,支持同时添加文字和箭头
下面看下具体的用法
1.text
text函数通过指定xy轴坐标,以及对应的文字来实现文字标记的功能,基本用法如下
>>> import matplotlib.pyplot as plt
>>> plt.plot([1,2,3,4])
>>> plt.axhline(2)
>>> plt.axvline(2)
>>> plt.text(x=2, y=2, s='text')
>>> plt.show()
输出结果如下
为了更好的看出文字和坐标的关系,我在图中添加了水平和垂直方向的辅助线, 可以看到,文字的左下角对应的是我们提供的坐标,这个和R语言中默认的文字中心为点的坐标不一样。
文字和坐标的对齐方式可以通过以下两个参数进行调整
1. horizontalalignment, 简写为ha, 取值为left, center, right三者中的一种
2. verticalalignment,简写为va,取值为top, center, bottom,baseline, center_baseline中的一种
用法如下
>>> plt.plot([1,2,3,4])
>>> plt.axhline(2)
>>> plt.axvline(2)
>>> plt.text(x=2, y=2, s='text', ha='center',va='bottom')
>>> plt.show()
输出结果如下
对于文字的颜色,大小,字体等常用属性,可以通过以下几个文字的通用参数进行设置
1. color, 文字的颜色
2. fontsize, 文字的大小
3. fontfamily, 字体
用法如下
>>> import matplotlib.pyplot as plt
>>> plt.plot([1,2,3,4])
>>> plt.axhline(2)
>>> plt.axvline(2)
>>> plt.text(x=2, y=2, s='text', color='red', fontsize=12, fontfamily='fantasy')
>>> plt.show()
输出结果如下
在matplotlib中,还可以通过bbox参数对文字的边框进行设置,该参数的取值为一个dict, 常用的key包括facecolor, edgecolor, boxstyle等,基本用法如下
>>> import matplotlib.pyplot as plt
>>> plt.plot([1,2,3,4])
>>> plt.axhline(2)
>>> plt.axvline(2)
>>> plt.text(x=2, y=2, s='text', bbox=dict(facecolor='white',boxstyle='circle'))
>>> plt.show()
输出结果如下