zoukankan      html  css  js  c++  java
  • matplotlib 3D数据-【老鱼学matplotlib】

    直接上代码:

    import numpy as np
    import matplotlib.pyplot as plt
    # 导入显示3D的库
    from mpl_toolkits.mplot3d import Axes3D
    
    # 定义一个图片
    fig = plt.figure()
    # 对此图片增加一个维度,使其成为3D图像
    ax = Axes3D(fig)
    
    # 定义X,Y值
    X = np.arange(-4, 4, 0.25)
    Y = np.arange(-4, 4, 0.25)
    # 把X,Y坐标网格化
    X, Y = np.meshgrid(X, Y)
    R = np.sqrt(X ** 2 + Y ** 2)
    # 设置高度值
    Z = np.sin(R)
    
    # 把X,Y,Z的数据在图片中显示,rstride(Row Stride):行跨度,cstride(Column Stride):列跨度,增加此值会增加跨度。cmap(Color Map):颜色映射表,rainbow为彩虹颜色
    ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap="rainbow")
    plt.show()
    
    

    显示图为:

    我们还想在这个图中增加等高线图:

    # 显示等高线图
    ax.contourf(X, Y, Z, offset=-2, cmap="rainbow", zdir='z')
    ax.set_zlim(-2, 2)
    

    这时显示为:

  • 相关阅读:
    笔记1
    笔记2
    笔记3
    两个多线程的交替打印
    三个多线程的交替打印
    内部类
    基本反射了解
    键盘监听事件KeyListener
    焦点监听事件FocusListener
    文本框JTextField,密码框JPasswordField
  • 原文地址:https://www.cnblogs.com/dreampursuer/p/7866331.html
Copyright © 2011-2022 走看看