美文网首页
复杂信息显示:Image 图片和3D 数据

复杂信息显示:Image 图片和3D 数据

作者: 地平线上的背影 | 来源:发表于2019-02-14 13:24 被阅读0次

    使用Matplotlib时我们常常会遇到除函数图像信息以外的复杂信息显示的问题,本文以Image 和 3D 数据为例展示复杂信息的显示问题

    1. 数据准备

    import matplotlib.pyplot as plt
    import numpy as np
    
    # image data
    a = np.array([0.313660827978, 0.365348418405, 0.423733120134,
                  0.365348418405, 0.439599930621, 0.525083754405,
                  0.423733120134, 0.525083754405, 0.651536351379]).reshape(3,3)
    
    """
    for the value of "interpolation", check this:
    http://matplotlib.org/examples/images_contours_and_fields/interpolation_methods.html
    for the value of "origin"= ['upper', 'lower'], check this:
    http://matplotlib.org/examples/pylab_examples/image_origin.html
    """
    

    2. 显示 Image 图片

    plt.imshow(a, interpolation='nearest', cmap='bone', origin='lower')
    plt.colorbar(shrink=.92)
    

    注:
    1.plt.imshow(data, interpolation, cmap, origin):图片显示函数
    2.参数解释:

    1.data:表示输入数据的来源
    2.interpolation:默认为none ,表示图片插值方式(不太清楚)
    3.camp:表示颜色地图,即图片的颜色对应方式,可自定义
    4.origin:表示图片的显示方向

    3. 坐标轴刻度显示

    plt.xticks(())
    plt.yticks(())
    plt.show()
    

    4. 3D 数据显示

    4.1 数据准备
    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    fig = plt.figure()
    ax = Axes3D(fig)
    # X, Y value
    X = np.arange(-4, 4, 0.25)
    Y = np.arange(-4, 4, 0.25)
    X, Y = np.meshgrid(X, Y)
    R = np.sqrt(X ** 2 + Y ** 2)
    # height value
    Z = np.sin(R)
    
    4.2 显示3D数据
    ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'))
    """
    ============= ================================================
            Argument      Description
            ============= ================================================
            *X*, *Y*, *Z* Data values as 2D arrays
            *rstride*     Array row stride (step size), defaults to 10
            *cstride*     Array column stride (step size), defaults to 10
            *color*       Color of the surface patches
            *cmap*        A colormap for the surface patches.
            *facecolors*  Face colors for the individual patches
            *norm*        An instance of Normalize to map values to colors
            *vmin*        Minimum value to map
            *vmax*        Maximum value to map
            *shade*       Whether to shade the facecolors
            ============= ================================================
    """
    
    # I think this is different from plt12_contours
    ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap=plt.get_cmap('rainbow'))
    """
    ==========  ================================================
            Argument    Description
            ==========  ================================================
            *X*, *Y*,   Data values as numpy.arrays
            *Z*
            *zdir*      The direction to use: x, y or z (default)
            *offset*    If specified plot a projection of the filled contour
                        on this position in plane normal to zdir
            ==========  ================================================
    """
    
    ax.set_zlim(-2, 2)
    
    plt.show()
    

    相关文章

      网友评论

          本文标题:复杂信息显示:Image 图片和3D 数据

          本文链接:https://www.haomeiwen.com/subject/cebseqtx.html