zoukankan      html  css  js  c++  java
  • Matplotlib——第一章轻松画个图

    首先安装matplotlib,使用pip install matplotlib。安装完成后在python的命令行敲入import matplotlib,如果没问题,说明安装成功可以开始画图了。

    看好了,见证奇迹的时刻

    from matplotlib import pyplot as plt
    plt.plot([1,2,3,4,5],[4,3,4,3,4])   #在画布上画图
    plt.show()  #显示画布

    画线,需要给出线上的点的坐标,然后Matplotlib会自动将点连成线。我们看到两个点的坐标都是list,但是最好是numpy的array,因为可以直接进行矩阵的运算。

    import numpy
    x = numpy.linspace(1,10,20) #生成1-10 的20个点
    plt.plot(x, x**3) 
    plt.show()

      x = range(8)
      plt.plot(x, [i**3 for i in x])
      plt.show()

     

    可以看出numpy的array组成的点使得图像更平滑,点分的更细。

    我是一个喜欢偷懒的人,让我把两个图合并起来

    import numpy
    x = numpy.linspace(1,10,20)
    plt.plot(x, x**3, range(0,8,3), [i**3 for i in range(0,8,3)])
    plt.show()

    总是画这样的线不觉得单调吗,下面让我们改改线的样式

    一、颜色

    颜色之间的对应关系为
    b---blue   c---cyan  g---green    k----black
    m---magenta r---red  w---white    y----yellow

    import numpy
    x = numpy.linspace(1,10,20)
    plt.plot(x, x**3, 'g', range(0,8,3), [i**3 for i in range(0,8,3)], 'r') #第三个参数就是颜色
    plt.show()

    二、线型

    -      实线
    --     短线
    -.     短点相间线
    :     虚点线

    import numpy
    x = numpy.linspace(1,10,20)
    plt.plot(x, x**3, 'g--', range(0,15), [i**2 for i in range(0,15)], 'r-.')
    plt.show()

    三、点的风格

    .  Point marker
    ,  Pixel marker
    o  Circle marker
    v  Triangle down marker 
    ^  Triangle up marker 
    <  Triangle left marker 
    >  Triangle right marker 
    1  Tripod down marker
    2  Tripod up marker
    3  Tripod left marker
    4  Tripod right marker
    s  Square marker
    p  Pentagon marker
    *  Star marker
    h  Hexagon marker
    H  Rotated hexagon D Diamond marker
    d  Thin diamond marker
    | Vertical line (vlinesymbol) marker
    _  Horizontal line (hline symbol) marker
    +  Plus marker
    x  Cross (x) marker

    import numpy
    x = numpy.linspace(1,10,20)
    plt.plot(x, x**3, 'gx--', range(0,15), [i**2 for i in range(0,15)], 'rs-.')
    plt.show()

    画图就到这了,总结一下,画图只要3步,1.加载包 2.将点画到画布上 3.显示画布。 而且线的样式,颜色和点的类型都可以根据情况修改。

  • 相关阅读:
    第34周二
    JAVA数组的定义及用法
    最小生成树(普利姆算法、克鲁斯卡尔算法)
    再谈Hibernate级联删除——JPA下的Hibernate实现一对多级联删除CascadeType.DELETE_ORPHAN
    站点系统压力測试Jmeter+Badboy
    AfxMessageBox和MessageBox差别
    最长递增子序列
    JAVA Metrics 度量工具使用介绍1
    递归函数时间复杂度分析
    HDU 5052 LCT
  • 原文地址:https://www.cnblogs.com/Leonharetd/p/4895643.html
Copyright © 2011-2022 走看看