• 实现人脸识别性别之路---matplotlib之注释


    一、准备数据

    利用np.linspace()函数得到一定范围内的数据集

    利用2*x+1的公式求出y

    二、创建窗口

    三、根据具有规律的数据画图

    四、调整坐标轴

    1、将原本的坐标轴的上轴和右轴去掉,使用基本句子为:ax.spines[].set_color()【思路:将他们的颜色改为白色】

    2、改变x,y轴的名字:利用ax.xaxis.set_ticks_position()

    3、移动我们设置的x,y轴:利用ax.spines[].set_position()函数

    五、画图柄(出现的错误:plt.plot返回值没有逗号,plt.legend()中的labels没有用中括号括起来并且没有逗号)

    六、注释

    1、准备注释点并且讲这个点描成蓝色,并将这个点具体描绘出来

    2、注释内容

    3、注释点

    4、注释的位置

    5、注释文字的大小

    6、箭头的形状和弧度

    七、另一种注释方法

    1、注释的位置

    2、注释内容

    3、设置注释内容的大小和颜色

    实现代码:

     

    import matplotlib.pyplot as plt
    import numpy as np

    #准备数据
    x = np.linspace(-3,3)
    y = 2*x+1

    #创建窗口并添加内容
    plt.figure(num="insist")
    #画图
    l1, = plt.plot(x,y)
    # 读取当前坐标轴的信息
    ax = plt.gca()
    #将右轴改为无
    ax.spines["right"].set_color("none")
    #将上轴改为无
    ax.spines['top'].set_color('none')
    #设置y轴为left,将x轴改为bottom
    ax.xaxis.set_ticks_position("bottom")
    ax.yaxis.set_ticks_position("left")
    #移动我们设置的x,y轴
    ax.spines["bottom"].set_position(("data",0))
    ax.spines["left"].set_position(("data",0))
    #注释
    x0 = 1
    y0 = 2*x0+1
    plt.scatter([x0, ], [y0, ], s=50, color='b')
    plt.plot([x0,x0],[y0,0],'k--',lw=2.5)
    plt.annotate(r"$2x0+1=%s$"%y0,xy=(x0,y0),xycoords='data',xytext=(-30,+30)
    ,textcoords="offset points",fontsize=16,arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.25"))

    #另一种注释方法
    plt.text(-3.7,2,r'$I think you can insist$',fontdict={"size":"16","color":'b'})

    plt.legend(handles=[l1,],labels=["insist",],loc="best")

    plt.show()

     

     

  • 相关阅读:
    SignalR实现服务器与客户端的实时通信
    UIWebView全解
    查漏补缺
    Django的生命周期图解
    权限系统(第一次测试)
    Django权限管理测试
    Django_自带的admin管理页面
    django笔记整理
    cookie/session(过时的写法)
    图书管理系统设置登录验证(cookies)
  • 原文地址:https://www.cnblogs.com/MyUniverse/p/9652398.html
Copyright © 2020-2023  润新知