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

    绘制一副3D图像

    draw3D(X,Y,Z, angle)

    import numpy as np
    from matplotlib import pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    #X,Y,Z  are  np.array
    #angle is a tuple, stands for the initial view angle of 3D figure
    
    def draw3D(X,Y,Z, angle):
        fig = plt.figure(figsize=(15,7))
        ax = Axes3D(fig)
        ax.view_init(angle[0],angle[1])
        ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.coolwarm,alpha=0.8)
        plt.show()
    
    
    #e.g.
    x=np.linspace(-10,10,100)
    y=np.linspace(-10,10,100)
    X,Y=np.meshgrid(x,y)
    X_f=X.flatten()
    Y_f=Y.flatten()
    data=zip(X_f,Y_f)
    z1=np.array([function(d) for d in data])
    z1=z1.reshape(100,100)
    
    draw3D(X,Y,z1,(75,80))
    

    若要给各个轴命名,增加如下

    1. plt.title("This is main title")      #总标题  
    2. ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.coolwarm)#用取样点(x,y,z)去构建曲面  
    3. ax.set_xlabel('x label', color='r')  
    4. ax.set_ylabel('y label', color='g')  
    5. ax.set_zlabel('z label', color='b')      #给三个坐标轴注明  
    6. plt.show()#显示模块中的所有绘图对象

      

  • 相关阅读:
    排序
    多线程
    swift demo
    支付宝支付
    TV端产品设计法则和分析
    产品经理提升修炼的方法
    “互联网+”不是传统企业的万金油
    我眼中理想的程序员
    来谈谈产品的模仿与抄袭的问题
    产品体验成就产品
  • 原文地址:https://www.cnblogs.com/eniac1946/p/7998748.html
Copyright © 2011-2022 走看看