zoukankan      html  css  js  c++  java
  • python 用 matplotlib 在 3D 空间中绘制平面 实例详解

    图形:

     

     

     

    0、import

    import numpy as np
    import matplotlib as mpl
    from matplotlib import cm
    from matplotlib import pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D

    1、水平和垂直平面

    # 创建画布
    fig = plt.figure(figsize=(12, 8),
                     facecolor='lightyellow'
                    )
    
    # 创建 3D 坐标系
    ax = fig.gca(fc='whitesmoke',
                 projection='3d' 
                )

    # 二元函数定义域平面 x
    = np.linspace(0, 9, 9) y = np.linspace(0, 9, 9) X, Y = np.meshgrid(x, y) # -------------------------------- 绘制 3D 图形 -------------------------------- # 平面 z=4.5 的部分 ax.plot_surface(X, Y, Z=X*0+4.5, color='g', alpha=0.6 ) # 平面 y=4.5 的部分 ax.plot_surface(X, Y=X*0+4.5, Z=Y, color='y', alpha=0.6 ) # 平面 x=4.5 的部分 ax.plot_surface(X=X*0+4.5, Y=Y, Z=X, color='r', alpha=0.6 ) # -------------------------------- -------------------------------- # 设置坐标轴标题和刻度 ax.set(xlabel='X', ylabel='Y', zlabel='Z', xlim=(0, 9), ylim=(0, 9), zlim=(0, 9), xticks=np.arange(0, 10, 2), yticks=np.arange(0, 10, 1), zticks=np.arange(0, 10, 1) ) # 调整视角 ax.view_init(elev=15, # 仰角 azim=60 # 方位角 ) # 显示图形 plt.show()

    图形:

     

    2、斜平面

    # 创建画布
    fig = plt.figure(figsize=(12, 8),
                     facecolor='lightyellow'
                    )
    
    # 创建 3D 坐标系
    ax = fig.gca(fc='whitesmoke',
                 projection='3d' 
                )
    
    # 二元函数定义域 x
    = np.linspace(0, 9, 9) y = np.linspace(0, 9, 9) X, Y = np.meshgrid(x, y) # -------------------------------- 绘制 3D 图形 -------------------------------- # 平面 z=3 的部分 ax.plot_surface(X, Y, Z=X*0+3, color='g' ) # 平面 z=2y 的部分 ax.plot_surface(X, Y=Y, Z=Y*2, color='y', alpha=0.6 ) # 平面 z=-2y + 10 部分 ax.plot_surface(X=X, Y=Y, Z=-Y*2+10, color='r', alpha=0.7 ) # -------------------------------- -------------------------------- # 设置坐标轴标题和刻度 ax.set(xlabel='X', ylabel='Y', zlabel='Z', xlim=(0, 9), ylim=(0, 9), zlim=(0, 9), xticks=np.arange(0, 10, 2), yticks=np.arange(0, 10, 1), zticks=np.arange(0, 10, 1) ) # 调整视角 ax.view_init(elev=15, # 仰角 azim=10 # 方位角 ) # 显示图形 plt.show()

    图形:

     

    软件信息:

     

     

     

     

  • 相关阅读:
    uva 11178 Morley's Theorem(计算几何-点和直线)
    .net web 开发平台- 表单设计器 一(web版)
    Oracle EBS Web ADI 中的术语
    Android学习笔记(十七)——使用意图调用内置应用程序
    PreferenceFragment 使用 小结
    ccMacros
    海量数据查询优化
    c++容器类
    Codeforce 424C Magic Formulas 找规律
    android播放html5视频,仅仅有声音没有图像视频
  • 原文地址:https://www.cnblogs.com/shanger/p/13201139.html
Copyright © 2011-2022 走看看