zoukankan      html  css  js  c++  java
  • Py修行路 Matplotlib 绘图及可视化模块

    Matplotlib是一个强大的Python绘图和数据可视化的工具包。

      安装方法:pip install matplotlib
      引用方法:import matplotlib.pyplot as plt
    

    绘图方法

      绘图函数:plt.plot() #调用函数生成图像
      显示图像:plt.show() #显示图像
      注意:每显示一次就会把创建的图对象数据清空,当需要再次显示的话,就需要再创建一个数据

        绘图函数语法:plt.plot(["数据1","数据2","数据3",],"线的形状")

      参数:

      1、传值:仅传一个列表的话默认是y轴的数据,x赋值为0,1,2....;传入两个列表,分别代表x轴和y轴数据;
      2、线条属性:r-o :第一个代表颜色,第二个代表线条的样式,第三个代表点的形状【象形】。

    示例:

    画一条线:
      plt.plot([1,2,3,4]) #默认不写是一条蓝色的直线
      plt.plot([1,2,3,4],"ro") #红点
      plt.plot([1,2,3,4],[2,3,4,5],"ro") # 红点
      plt.plot([1,2,3,4],[2,3,4,5],"r-o") # 红线及点
    画多条线:(可以写在一个函数里,也可以下多个,然后一起展示)
      plt.plot([1,2,3,4],[2,3,4,5],"r-.o",[4,5,6,7],[7,8,9,10],"r-o")
    展示方法:
      plt.show()

    plot函数各参数类型:
      线型linestyle(-,-.,--,..)
      点型marker(v,^,s,*,rs,H,+,x,D,o,…)
      颜色color(b,g,r,y,k,w,…)
    plot函数绘制多条曲线
      标题:plt.title("名字") 定义图的标题
      x轴: plt.xlabel("x") 定义x轴轴标
      y轴: plt.ylabel("y") 定义y轴轴标

    示例代码:

      plt.plot([1,2,3,4],[2,3,4,5],"ro") # 红点
      plt.xlabel("x")
      plt.ylabel("y")
      plt.title("test")
       plt.show() 

    也可以对DataFrame数据进行绘图。要画哪列的图就通过索引取出某列,然后绘图。

    例如:
      df['close'].plot() #绘图
      plt.show() #展示图

    其他类型图像:
      hist 绘制频数直方图

    import numpy as np
    x = np.random.randint(0,10,100) #随机生成100个数
    plt.hist(x)
    plt.show()
    
    plt.hist(x,np.arange(10))
    plt.show()

    画布与图 (一个图形界面上有多张图)

    1、先创建一个画布:figure

      fig = plt.figure() #创建画布

    2、画子图:subplot

    ax1 = fig.add_subplot(2,2,1) #前两个参数代表子图所占大小,第三个参数表示是第几张图
    
    例如:#在画布上创建连张表
        ax1 = fig.add_subplot(2,2,1)
        ax2 = fig.add_subplot(2,2,2)
        plt.show()  #展示

    3、可以在子图上绘制图像,绘图方法以上面介绍的plot一致!

      ax1.plot([数据参数],线的类型) 

    调节子图间距:

      subplots_adjust(left, bottom, right, top, wspace, hspace)
  • 相关阅读:
    HDU 4539郑厂长系列故事――排兵布阵(状压DP)
    HDU 2196Computer(树形DP)
    HDU 4284Travel(状压DP)
    HDU 1520Anniversary party(树型DP)
    HDU 3920Clear All of Them I(状压DP)
    HDU 3853LOOPS(简单概率DP)
    UVA 11983 Weird Advertisement(线段树求矩形并的面积)
    POJ 2886Who Gets the Most Candies?(线段树)
    POJ 2828Buy Tickets
    HDU 1394Minimum Inversion Number(线段树)
  • 原文地址:https://www.cnblogs.com/zh605929205/p/7414441.html
Copyright © 2011-2022 走看看