zoukankan      html  css  js  c++  java
  • python 画 3D 图

     直接上代码 

        fig = plt.figure(figsize=(19.2, 14.4))
        ax = fig.add_axes([0, 0, 1, 1], projection='3d')
    
        ax.set_zlim(bottom=0)  # 有这个可以把多个图层的上下间隔弄的更大,相当于自己从新设置 z 轴数值大小间隔,没有这步它会自动设置上下压缩很小
       # 去除 x y z 轴的背景颜色
        ax.w_xaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
        ax.w_yaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
        ax.w_zaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
    
        # 3D 曲面图 二维数据
        ax.plot_surface(lon1, lat1, glb30_wind, cmap=cmocean.cm.balance)
        # 线图 二维数据
        ax.contour(lon1, lat1, glb30_wind, zdir='z', offset=-1.5, cmap=cmocean.cm.balance)
        # 面图 二维数据
        plt.contourf(lon1, lat1, glb30_wind, zdir='z', offset=6, cmap=cmocean.cm.balance)
        #
        plt.contourf(lon1, lat1, glb0_wind, zdir='z', offset=3, cmap=cmocean.cm.balance)
        # 面图  一维数据
        plt.tricontourf(lon, lat, cns0_wind, zdir='z', offset=0.7, cmap=cmocean.cm.balance)
    
        sss = plt.tricontourf(lon, lat, cns1_wind, zdir='z', offset=-1, cmap=cmocean.cm.balance)
    
    
        # 设置设卡
        m = cm.ScalarMappable(cmap=cmocean.cm.balance)
        m.set_array(np.arange(0, 3.5, 0.2))
        # 添加色卡 1        色卡            大小         主图和色卡的间距
        cb = plt.colorbar(m, shrink=0.8)  # pad=0.1
    # 添加设卡 2 可以直接映射画图函数的返回值 ax 参数 可以指色卡显示在哪个子图上 例如 ax=ax ax=[ax[0], ax[1]] 也可以共用一个色卡
        cb = plt.colorbar(sss, shrink=0.8)    
    # 设置色卡  颜色数值大小
        cb.ax.tick_params(colors='gray', labelsize=30)
    
        # 设置z轴的维度,x,y类似
        ax.set_zticks(np.linspace(0, 5, 6))
        # 去除 x y z 轴的背景网格
        ax.grid(False)
        # 去掉坐标轴的线
        plt.axis('off')
        # 设置轴上的 字体颜色 大小
        ax.tick_params(axis='x', colors='gray', labelsize=30)
        ax.tick_params(axis='y', colors='gray', labelsize=30)
        ax.tick_params(axis='z', colors='gray', labelsize=30)
        #  elev仰角  越大越向下  越小越向上  azim方位角  越大越向右  越小越向左
        ax.view_init(elev=21, azim=-70)
      
       # 调整子图的布局
    plt.subplots_adjust(top=1, bottom=0, right=1, left=0, hspace=0, wspace=0)
    # 开始坐标 x y x 轴坐标
    plt.margins(0, 0, 0)
       plt.show()

    参考地址
    画 3D 图
    https://my.oschina.net/u/3225759/blog/4373938
    设置 色卡
    https://www.jianshu.com/p/d97c1d2e274f
    色斑图 裁切 shape 地图
    https://blog.csdn.net/qq_39425958/article/details/104790575

    去除了  x  y  z  轴刻度,背景透明色

  • 相关阅读:
    第一次博客作业
    自我介绍
    第一次个人编程作业
    第一次博客作业
    第一次个人编程作业
    第一次博客作业
    Alpha冲刺
    Alpha冲刺 (2/10)
    Alpha 冲刺 (1/10)
    福大软工 · 第七次作业
  • 原文地址:https://www.cnblogs.com/luochunxi/p/14872027.html
Copyright © 2011-2022 走看看