3)箭头和文本分开设置
plt.text语法格式如下:
plt.text(x,y,文本值)
plt.arrow语法格式如下:
plt.arrow(x,y,dx,dy,width=,head_width=,head_length)
① 常用参数如下
### plt.text添加普通文本 plt.text:显示文本(基于坐标) plt.figtext:显示文本(基于图片) * x,y:文本点的坐标。 * 文本值:给这个点添加文本注释。 ### plt.arrow添加箭头 * x,y:箭头的起点坐标。 * dx,dy:基于起点坐标的偏移量。 * width:箭头尾部的宽度。 * head_width:箭头的宽度。 * head_length:箭头的长度。 * alpha:表示箭头的透明度。范围是0-1。
关于dx、dy的用法演示:
② 举例如下:
x = np.linspace(-10, 10, 100) plt.plot(x, -x ** 2, "r-") plt.title("抛物线图") plt.text(-3.5, -50, "这是极值点") plt.arrow(-2.5,-45,2.5,42,width=0.001,head_width=1,head_length=2,color="b")
结果如下:
4)给图形上的坐标点添加数据标签
① 例一
x = np.linspace(0,10,100) y = -x**2 plt.xlim(0,100) plt.ylim(0,100) plt.title("抛物线") plt.plot(x,y) for xy in zip(x,y): plt.annotate("(%s,%s)" % xy, xy=xy)
结果如下:
② 例二
x = np.arange(1,13) y = np.array([1234,871,2222,3123,5612,2222,4123,3214,999,6000,5423,3123]) plt.plot(x,y,"ro-",label="每月工资") plt.title("张三1-12月工资") plt.xlabel("月份") plt.ylabel("工资") plt.legend(loc="best") for xy in zip(x,y): plt.annotate("{}".format(xy[1]),xy=xy,ha="center",va="bottom") plt.savefig("张三工资",dpi=300,facecolor="g")
结果如下:
③ 例三“添加注释的第2种方式
x = np.arange(1,13) y = np.array([1234,871,2222,3123,5612,2222,4123,3214,999,6000,5423,3123]) plt.plot(x,y,"ro-",label="每月工资") plt.title("张三1-12月工资") plt.xlabel("月份") plt.ylabel("工资") plt.legend(loc="best") for x,y in zip(x,y): plt.text(x,y,y,ha="center",va="bottom",fontsize=10)
结果如下: