美文网首页
【python】Matplotlib入门(一)

【python】Matplotlib入门(一)

作者: 虫虫工工队 | 来源:发表于2020-09-06 21:21 被阅读0次

    参考:B站莫烦Python的系列视频

    2.2 Figure 图像

    plt.figure()

    • plt.figure()可以多次使用,每次该命令下面的命令从属于这一图
    x=np.linspace(-3,3,50)
    y1=2*x+1
    y2=x**2
    plt.figure()
    plt.plot(x,y1)
    
    plt.figure(num=3,figsize(8,5))
    plt.plot(x,y2)
    plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')
    
    plt.show()
    
    • 运行以上代码会得到2个图——图1和图3(因为num=3),图1是关于x和y1的,图3上有两条线,分别是x和y1以及x和y2。
    • 调节颜色:color='red'
    • 调节线宽:linewidth=1.0
    • 调节线形:linestyle='--'

    2.3设置坐标轴1

    • 设置取值范围:
      plt.xlim() plt.ylim()
      如:plt.ylim((-1,2))
    • 设置xy轴
      plt.xlabel() plt.ylabel()
      如:plt.xlabel('x')
    • 修改坐标轴的值(间隔)
    new_ticks=np.linspace(-1,2,5)
    #从-1到2,产生5个数,即:-1.00,-0.25,0.50,1.25,2.00
    plt.xticks(new_ticks)
    
    • 修改坐标轴的值变成文本
      plt.yticks([-2,-1,0,1],['a','b','c','d'])
      特别地:在文本两边插入$能够使得文本变得好看(latex)


      $的使用

    2.4设置坐标轴2

    • 本课介绍:如何隐藏坐标轴,如何设置坐标原点
    • gca='get current axis'
    ax=plt.gca()
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    #这么设置之后,右边和上面的坐标轴消失
    #接下来是设置坐标原点,将横纵坐标的原点都设置为0
    ax.xaxis.set_ticks_position('bottom')
    yx.yaxis.set_ticks_position('left')
    ax.spines['bottom'].set_position(('data',0))
    ax.spines['left'].set_position(('data',0))
    

    2.5 图例

    本课的示意图
    #在设置完横纵坐标范围、横纵坐标名,横纵坐标间隔等设置之后
    #用plt.plot()语句画图
    #此时,本次带上label
    plt.plot(x,y2,label='up')
    plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--',label='down')
    plt.legend()#有这句才会打印图例
    plt.show()
    
    • 关于legend的参数详解:
    l1,=plt.plot(x,y2,label='up')
    l2,=plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--',label='down')
    plt.legend(handles=[l1,l2,],labels=['aaa','bbb'],loc='best')
    
    对图片进行压缩,能够自动调整
    • 如果图例上只想显示'aaa',可以这样写代码:
    plt.legend(handles=[l1,],labels=['aaa',],loc='best')
    

    2.6 Annotation 标注

    本文的示意图
    import matplotlib.pyplot as plt
    import numpy as np
    
    x=np.linspace(-3,3,50)
    y=2*x+1
    
    plt.figure(num=1,figsize=(8,5),)
    plt.plot(x,y,)
    
    ax=plt.gca()
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    ax.xaxis.set_ticks_position('bottom')
    ax.spines['bottom'].set_position(('data',0))
    ax.yaxis.set_ticks_position('left')
    ax.spines['left'].set_position(('data',0))
    #想要表示的点
    x0=1
    y0=2*x0+1
    # s for size
    plt.scatter(x0,y0,s=50,color='b')
    #画出从点到横坐标的黑色虚线
    plt.plot([x0,x0],[y0,0],'k--',lw=2.5)
    
    #annotation
    plt.annotate(r'$2x+1=%s$' % y0, xy=(x0,y0), xycoords='data', xytest=(+30,-30), textcoords='offset points',
        fonsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3, rad=.2'))
    
    #annotation2
    plt.text(-3.7,3,r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$', fontdict={'size':16,'color':'r'})
    plt.show()
    
    

    相关文章

      网友评论

          本文标题:【python】Matplotlib入门(一)

          本文链接:https://www.haomeiwen.com/subject/kyxhektx.html