zoukankan      html  css  js  c++  java
  • python数据图形化—— matplotlib 基础应用

      matplotlib是python中常用的数据图形化工具,用法跟matlab有点相似。调用简单,功能强大。在Windows下可以通过命令行 pip install matplotlib 来进行安装。

      以下为一些基础使用的例子:

    1、绘制直线

      先通过numpy生成在直线 y = 5 * x + 5 上的一组数据,然后将其绘制在图表上

    1 import numpy as np
    2 import matplotlib.pyplot as plot
    3 
    4 x = np.linspace(1, 10, 10)
    5 y = 5 * x + 5
    6 
    7 # plot.figure()
    8 plot.plot(x, y)
    9 plot.show()

      运行上面的代码,结果如下:

    2、绘制折线图

      绘制折线图调用的matplotlib的方法一样,只是使用numpy生成的数据不一样。

    1 import numpy as np
    2 import matplotlib.pyplot as plot
    3 
    4 x = np.linspace(1, 10, 10)
    5 y = np.random.normal(1, 5, 10)
    6 
    7 plot.figure()
    8 plot.plot(x, y)
    9 plot.show()

      由于涉及到随机数,每次运行的结果会不一样。某次运行结果如下:

     

    3、同时绘制多条样式不一的曲线

      plot方法可以同时绘制多条图线,并支持不同的曲线采用不同的样式和颜色来显示。在下面的代码中,plot方法的参数,3个为一组,共3组,每一组的参数分别为 x轴坐标、y轴坐标和样式。

      样式用法:

    格式:

    fmt = '[color][marker][line]'

    样式的第一个字母表示颜色,支持的颜色有:r(red)、g(green)、b(blue)、c(cyan)、m(megenta)、y(yellow)、w(white)、k(black)。

    样式的第二部分表示图线的填充符号,可以写:--(虚线)、+(加号)、^(向上的正三角形)、s(正方形)、o(圆形)等。还可以同时采用两种填充方式,如‘ro--’表示用红色的虚线及实心圆来同时进行填充。

    
    
    import numpy as np
    import matplotlib.pyplot as plot
    
    x = np.linspace(-10, 10, 100)
    
    plot.plot(x, 100 * x, 'r--', x, 10*x ** 2, 'g^', x, x ** 3, 'c+')
    plot.show()

    4、绘制散点图

      调用 scatter 方法可以绘制散点图。

    import numpy as np
    import matplotlib.pyplot as plot
    
    x = np.linspace(1, 10, 10)
    y = np.linspace(1, 10, 10)
    
    plot.scatter(x, y)
    plot.ylabel('y value')
    plot.xlabel('x scale')
    plot.title('Scatter Figure')
    plot.show()

    输出:

     可以通过设置不同参数的形式获得不同的散点图:

     1 import numpy as np
     2 import matplotlib.pyplot as plot
     3 
     4 # 固定随机数的seed,使其每次运行产生的结果都一样
     5 np.random.seed(1)
     6 
     7 num = 100
     8 edgeRadius = 0.5
     9 x = np.random.rand(num)
    10 y = np.random.rand(num)
    11 area = (200 * np.random.rand(num))
    12 color = np.sqrt(area)
    13 # 创建区域,用不同的样式来显示不同分区的点
    14 triangleArea = np.ma.masked_where(x <= edgeRadius, area)
    15 diamondArea  = np.ma.masked_where(x > edgeRadius, area)
    16 plot.scatter(x, y, s=triangleArea, marker='o', c=color)
    17 plot.scatter(x, y, s=diamondArea, marker='d', c=color)
    18 plot.title('Random Scatter')
    19 plot.show()

    5、绘制柱状图与多个图形

      在以下示例中, figure函数指定了图表的编号和大小比例,suptitle设置标题,subplot指定当前绘图的位置(参数221表示2x2共四个图形区域,最后的1表示第一个图形区域)。后面的bar、scatter、plot和pie函数分别绘制了柱状图、散点图、折(直)线图和饼图。

    import matplotlib.pyplot as plot
    
    labels = ['A', 'B', 'C']
    values = [1, 2, 3]
    
    plot.figure(1, figsize=(9, 6))
    plot.suptitle('Multiple Plots')
    
    plot.subplot(221)
    plot.bar(labels, values)
    plot.subplot(222)
    plot.scatter(labels, values)
    plot.subplot(223)
    plot.plot(labels, values)
    plot.subplot(224)
    plot.pie(values, labels=labels)
    plot.show()

    本文地址:https://www.cnblogs.com/laishenghao/p/9573465.html 

    作者博客:( •̀ ω •́ )y

  • 相关阅读:
    一个老程序员的从零开始的从新出发
    Django静态文件配置
    Data truncated for column 'id' at row 1
    MyBatis之java.lang.UnsupportedOperationException异常解决方案
    mybatis批量查询-插入-删除
    Mybatis中进行批量更新(updateBatch)
    mybatis插入insert操作,返回自增id
    redis五大数据类型
    redis中key键操作
    Redis主从复制失败(master_link_status down)
  • 原文地址:https://www.cnblogs.com/laishenghao/p/9573465.html
Copyright © 2011-2022 走看看