Matplotlib绘制常用三维图 | 您所在的位置:网站首页 › 画三维图的网站 › Matplotlib绘制常用三维图 |
目录
1 三维图像的绘制简介2 三维线框图3 三维曲面图4 三维散点图5 三维柱状图6 三维折线图
想学习架构师构建流程请跳转:Java架构师系统架构设计 1 三维图像的绘制简介Matplotlib使用和绘制二维图表:https://blog.csdn.net/ZGL_cyy/article/details/125705060 matplotlib支持绘制三维线框图, 三维曲面图, 三维散点图. 需要使用axes3d提供3d坐标系. from mpl_toolkits.mplot3d import axes3d ax3d = mp.gca(projection='3d') ax3d.plot_wireframe() # 绘制3d线框图 ax3d.plot_surface() # 绘制3d曲面图 ax3d.scatter() # 绘制3d散点图 2 三维线框图 ax3d.plot_wireframe( x, y, # x,y网格点坐标矩阵 z, # z为每个坐标点的值 rstride=30, # 行跨距 cstride=30, # 列跨距 linewidth=1, color='' )案例演示: """ 三维线框图 """ import numpy as np import matplotlib.pyplot as mp from mpl_toolkits.mplot3d import axes3d # 生成网格点坐标矩阵 n = 1000 x, y = np.meshgrid(np.linspace(-3, 3, n), np.linspace(-3, 3, n)) # 根据x,y 计算当前坐标下的z高度值 z = (1-x/2 + x**5 + y**3) * np.exp(-x**2 -y**2) mp.figure('Wireframe', facecolor='lightgray') ax3d = mp.gca(projection='3d') ax3d.set_xlabel('X', fontsize=14) ax3d.set_ylabel('Y', fontsize=14) ax3d.set_zlabel('Z', fontsize=14) ax3d.plot_wireframe(x, y, z, rstride=10, cstride=10,color='dodgerblue') mp.show()案例演示: """ 三维曲面图 """ import numpy as np import matplotlib.pyplot as mp from mpl_toolkits.mplot3d import axes3d # 生成网格点坐标矩阵 n = 1000 x, y = np.meshgrid(np.linspace(-3, 3, n), np.linspace(-3, 3, n)) # 根据x,y 计算当前坐标下的z高度值 z = (1-x/2 + x**5 + y**3) * np.exp(-x**2 -y**2) mp.figure('Surface', facecolor='lightgray') ax3d = mp.gca(projection='3d') ax3d.set_xlabel('X', fontsize=14) ax3d.set_ylabel('Y', fontsize=14) ax3d.set_zlabel('Z', fontsize=14) ax3d.plot_surface(x, y, z, rstride=50, cstride=50, cmap='jet') mp.show()案例演示: """ 三维散点图 """ import numpy as np import matplotlib.pyplot as mp import mpl_toolkits.mplot3d as axes3d n = 500 x = np.random.normal(0, 1, n) y = np.random.normal(0, 1, n) z = np.random.normal(0, 1, n) d = np.sqrt(x**2 + y**2 + z**2) mp.figure('3D Scatter') ax3d = mp.gca(projection='3d') ax3d.set_xlabel('X', fontsize=14) ax3d.set_ylabel('Y', fontsize=14) ax3d.set_zlabel('Z', fontsize=14) ax3d.scatter(x, y, z, s=60, alpha=0.6, c=d, cmap='jet') mp.show() |
CopyRight 2018-2019 实验室设备网 版权所有 |