zoukankan      html  css  js  c++  java
  • python Matplotlib数据可视化神器安装与基本应用

    Matplotlib

    Matplotlib 是一个非常强大的 Python 画图工具; 手中有很多数据, Matplotlib能帮你画出美丽的:

    • 线图;
    • 散点图;
    • 等高线图;
    • 条形图;
    • 柱状图;
    • 3D 图形,
    • 甚至是图形动画等等.

    Linux 

    打开 Terminal 窗口, 输入以下内容

    # python 3+ 请复制以下在 terminal 中执行
    $ sudo apt-get install python3-matplotlib
    
    # python 2+ 请复制以下在 terminal 中执行
    $ sudo apt-get install python-matplotlib
    

    MacOS 

    打开 Terminal 窗口, 输入以下内容

    # python 3+ 请复制以下在 terminal 中执行
    $ pip3 install matplotlib
    
    # python 2+ 请复制以下在 terminal 中执行
    $ pip install matplotlib

    Windows 

    Windows 的安装最麻烦. 我们一步步来:

    Matplotlib 安装

        matplotlib-1.5.3-cp35-cp35m-win32.whl (md5)
        1.5.3 : plt版本
        cp35  : python 版本
        win32 : Windows 32位系统
        whl   : wheel 文件 
    
    • 用 CMD 找到这个 .whl 文件目录, 然后 pip 安装. 以 matplotlib-1.4.3-cp35-none-win32.whl文件为例:
    $ cd python_work   # 用 cd 去到你下载的文件目录
    
    # 如果是 python 3+ 版本, 像下面一样
    python_work$ python -m pip3 install matplotlib-1.4.3-cp35-none-win32.whl
    
    • 如果安装不成功, 还有一种方法可以简便安装所有科学运算模块. 可以搜索一下 Anaconda python

    基础应用

    使用import导入模块matplotlib.pyplot,并简写成plt 使用import导入模块numpy,并简写成np

    import matplotlib.pyplot as plt
    import numpy as np
    

    使用np.linspace定义x:范围是(-1,1);个数是50. 仿真一维数据组(x ,y)表示曲线1.

    x = np.linspace(-1, 1, 50)
    y = 2*x + 1
    

    使用plt.figure定义一个图像窗口. 使用plt.plot画(x ,y)曲线. 使用plt.show显示图像.

    plt.figure()
    plt.plot(x, y)
    plt.show()
    

    基本用法

    此外,还可以绘制很多不同的图案,就像下面几个例子:

    曲线图

    Matplotlib basic v.svg
     
    >>> import matplotlib.pyplot as plt
    >>> import numpy as np
    >>> a = np.linspace(0,10,100)
    >>> b = np.exp(-a)
    >>> plt.plot(a,b)
    >>> plt.show()
    

    直方图

    Matplotlib histogram v.svg
     
    >>> import matplotlib.pyplot as plt
    >>> from numpy.random import normal,rand
    >>> x = normal(size=200)
    >>> plt.hist(x,bins=30)
    >>> plt.show()
    

    散点图

    Matplotlib scatter v.svg
     
    >>> import matplotlib.pyplot as plt
    >>> from numpy.random import rand
    >>> a = rand(100)
    >>> b = rand(100)
    >>> plt.scatter(a,b)
    >>> plt.show()
    

    3D 图

    Matplotlib 3d v.svg
     
    >>> from matplotlib import cm
    >>> from mpl_toolkits.mplot3d import Axes3D
    >>> import matplotlib.pyplot as plt
    >>> import numpy as np
    >>> fig = plt.figure()
    >>> ax = fig.gca(projection='3d')
    >>> X = np.arange(-5, 5, 0.25)
    >>> Y = np.arange(-5, 5, 0.25)
    >>> X, Y = np.meshgrid(X, Y)
    >>> R = np.sqrt(X**2 + Y**2)
    >>> Z = np.sin(R)
    >>> surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm)
    >>> plt.show()

    更多例子

     
  • 相关阅读:
    2018 ACM 网络选拔赛 徐州赛区
    2018 ACM 网络选拔赛 焦作赛区
    2018 ACM 网络选拔赛 沈阳赛区
    poj 2289 网络流 and 二分查找
    poj 2446 二分图最大匹配
    poj 1469 二分图最大匹配
    poj 3249 拓扑排序 and 动态规划
    poj 3687 拓扑排序
    poj 2585 拓扑排序
    poj 1094 拓扑排序
  • 原文地址:https://www.cnblogs.com/xmilt/p/9590322.html
Copyright © 2011-2022 走看看