2019-05-17 | Python | UNLOCK

Python库之玩转matplotlib(1)

概述

首先声明一点,本文对于Python的安装及一些使用库的安装就不再赘述了,读者若有疑问请参考我的其他博客,或者自行Google即可.推荐大家一个网址,里面是一些大牛做出来的very beautiful的图形.

ok,说点背景吧,现在AI技术的火爆,带动了Python这门胶水语言的火爆,从大数据到人工智能,甚至是到小学课本,我的天,处处都能看到这几个大大的字母啊Python.这个时代最终要的是什么,其实我第一反应是想说女朋友的,不过还是克制了一下我的骚气,ok,正经点,当然是数据了,不然每个公司为什么都会花重金养活一个团队叫”爬虫team”呢,不然为什么会出现之前的马蜂窝事件呢,不然为什么会出现各大互联网巨头不惜血本争抢用户流量呢,就是数据的原因,这年头掌握了有用的数据就相当于掌握了一笔相当的财富.

那可想而知,Python语言和数据分析的结合,可谓是百年好合呀,呸,应该是强强联合呀🤭

透点剧情给小可爱们,其实matplotlib和matplot有那么一丢丢相似~ok,不多说了,我最讨厌透剧情的人了~

绘制matplotlib图表组成元素的函数用法

  • 函数plot() - - - 展现变量的趋势变化
    • 参数说明
      • x : x轴上的数值
      • y : y轴上的数值
      • ls : 折线图的线条风格
      • lw :折线图的线条宽度
      • label : 标记图形内容的标签文本
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      # 随机在0.05-10之间取均匀地取1000个数
      x = np.linspace(0.05,10,1000)
      y = np.cos(x)
      plt.plot(x,y,ls="-",lw=2,label="plot figure")
      plt.legend()
      plt.show()
      
    • 效果展示 :


  • 函数scatter() - - - 寻找变量之间的关系
    • 参数说明
      • x : x轴上的数值
      • y : y轴上的数值
      • c : 散点图中标记的颜色
      • label : 标记图形内容的标签文本
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.linspace(0.05,10,1000)
      y = np.random.rand(1000)
      plt.scatter(x,y,label="scatter figure")
      plt.legend()
      plt.show()
      
    • 效果展示


  • 函数xlim() - - - 设置x轴的数值显示范围
    • 参数说明
      • xmin : x轴上的最小值
      • xmax : x轴上的最大值
      • 平移性 : 上述函数的功能,调用签名和参数说明同样可以平移到函数ylim()上,这里就不赘述了
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.linspace(0.5,10,2000)
      y = np.random.rand(2000)
      plt.scatter(x,y,label="scatter figure")
      plt.legend()
      plt.xlim(0.05,10)
      plt.ylim(0,1)
      plt.show()
      
    • 效果展示


  • 函数xlabel() - - - 设置x轴的标签文本
    • 参数说明
      • string : 标签文本内容
      • 平移性 : 上述函数的功能,调用签名和参数说明同样可以平移到函数ylabel()上,这里就不赘述了
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.linspace(0.05,10,1000)
      y = np.sin(x)
      plt.plot(x,y,ls="-",lw=2,c="c",label="plot figure")
      plt.xlabel('x-axis')
      plt.ylabel('y-axis')
      plt.legend()
      plt.show()
      
    • 效果展示


  • 函数grid() - - - 绘制刻度线的网格线
    • 参数说明
      • linestyle : 网格线的线条风格
      • color : 网格线的线条颜色
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.linspace(0.05,10,1000)
      y = np.sin(x)
      plt.plot(x,y,ls="-",lw=2,c="c",label="plot figure")
      plt.grid(linestyle=":",color="r")
      plt.show()
      
    • 效果展示


  • 函数axhline() - - - 绘制平行于x轴的水平参考线
    • 参数说明
      • y : 水平参考线的出发点
      • c : 参考线的线条颜色
      • ls : 参考线的线条风格
      • lw : 参考线的线条宽度
      • 平移性 : 上述函数的功能,调用签名和参数说明同样可以平移到函数axvline()上,这里就不赘述了
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.linspace(0.05,10,1000)
      y = np.sin(x)
      plt.plot(x,y,ls="-",lw=2,c="c",label="plot figure")
      plt.legend()
      plt.axhline(y=0.0,c="r",ls="--",lw=2)
      plt.axvline(x=4.0,c="r",ls="--",lw=2)
      plt.show()
      
    • 效果展示


  • 函数axvspan() - - -绘制垂直于x轴的参考区域
    • 参数说明
      • xmin : 参考区域的起始位置
      • xmax : 参考区域的终止位置
      • facecolor : 参考区域的填充颜色
      • alpha : 参考区域的填充颜色的透明度
      • 平移性 : 上述函数的功能,调用签名和参数说明同样可以平移到函数axvline()上,这里就不赘述了
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.linspace(0.05,10,1000)
      y = np.sin(x)
      plt.plot(x,y,ls="-",lw=2,c="c",label="plot figure")
      plt.legend()
      plt.axvspan(xmin=4.0,xmax=6.0,facecolor="y",alpha=0.3)
      plt.axhspan(ymin=0.0,ymax=0.5,facecolor="y",alpha=0.3)
      plt.show()
      
    • 效果展示


  • 函数annnotate() - - - 添加图形内容细节的指向型注释文本
    • 参数说明
      • string : 图形内容的注释文本
      • xy : 被注释图形内容的位置坐标
      • xytext : 注释文本的位置坐标
      • weight : 注释文本的字体粗细风格
      • color : 注释文本的字体颜色
      • arrowprops : 指示被注释内容的箭头的属性字典
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.linspace(0.05,10,1000)
      y = np.sin(x)
      plt.plot(x,y,ls="-",lw=2,c="c",label="plot figure")
      plt.legend()
      plt.annotate("maximum",
                 xy=(np.pi/2,1.0),
                 xytext=((np.pi/2)+1.0,.8),
                 weight="bold",
                 color="b",
                 arrowprops=dict(arrowstyle="-",connectionstyle="arc3",color="b")
                 )
      plt.show()
      
    • 效果展示


  • 函数text() - - - 添加图形内容细节的无指向型注释文本
    • 参数说明
      • x : 注释文本内容所在位置的横坐标
      • y : 注释文本内容所在位置的纵坐标
      • string : 注释文本内容
      • weight : 注释文本内容的粗细风格
      • color : 注释文本内容的字体颜色
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.linspace(0.05,10,1000)
      y = np.sin(x)
      plt.plot(x,y,ls="-",lw=2,c="c",label="plot figure")
      plt.legend()
      plt.text(3.10,0.09,"y=sin(x)",weight="bold",color="b")
      plt.show()
      
    • 效果展示


  • 函数title() - - - 添加图形内容的标题
    • 参数说明
      • string : 图形内容的标题文本
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.linspace(0.05,10,1000)
      y = np.sin(x)
      plt.plot(x,y,ls="-",lw=2,c="c",label="plot figure")
      plt.legend()
      plt.title("y=sin(x)")
      plt.show()    
      
    • 效果展示


  • 函数legend() - - - 标示不同图形的文本标签图例
    • 参数说明
      • loc : 图例在图中的地理位置
    • 代码展示
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.linspace(0.05,10,1000)
      y = np.sin(x)
      plt.plot(x,y,ls="-",lw=2,c="c",label="plot figure")
      plt.legend(loc="lower left")
      plt.show()
      
    • 效果展示


ok,本周的分享就到这了,下周我们继续今天的分享,在下一期的分享中我们会来说说使用统计函数绘制简单的图形,不说了,see you next week~😄

评论加载中