图形:
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()
图形:
软件信息:
补充:Python数据分析(Matplotlib)之3D图形
使用python绘制一个简单的三维图
我就废话不多说了,大家还是直接看代码吧~
from mpl_toolkits.mplot3d import Axes3D import matplotlib.pylab as plt import numpy as np from matplotlib import cm #使用3d关键字来进行指定图像的三维投影 fig = plt.figure() ax = fig.add_subplot(111,projection='3d') """numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 在指定的间隔内返回均匀间隔的数字。 meshgrid函数创建一个二维坐标网络,这将用于二维坐标网络,这将用于变量x和y的赋值 """ u = np.linspace(-1,1,100) x,y =np.meshgrid(u,u) z = x**2 +y**2 #指定行和列的步幅,以及绘制的色彩表 ax.plot_surface(x,y,z,rstride=4,cstride=4,cmap=cm.YlGnBu_r) plt.show()
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
金钱帮资源网 Copyright www.kbjia.com
暂无“python 利用matplotlib在3D空间中绘制平面的案例”评论...
更新日志
2024年10月07日
2024年10月07日
- 麦洁文.1989-新曲与精丫新艺宝】【WAV+CUE】
- SNH48《薄荷糖 (Mint Candy)》[320K/MP3][33.72MB]
- SNH48《薄荷糖 (Mint Candy)》[FLAC/分轨][78.59MB]
- 刘美麟《同生》[320K/MP3][70.99MB]
- 群星.1994-宝丽金最流行3CD【宝丽金】【WAV+CUE】
- 群星.2024-聆听“某某”影视原声带【华纳】【FLAC分轨】
- 陈慧娴.1989-永远是你的朋友(2024环球MQA-UHQCD限量版)【环球】【WAV+CUE】
- 何洛洛.2024-别叫醒我(EP)【光羽】【FLAC分轨】
- 林忆莲.1996-爱莲说2CD【华纳】【WAV+CUE】
- 黄妃.2005-红【亚律】【WAV+CUE】
- 刘美麟《同生》[FLAC/分轨][161.95MB]
- 群星《前途海量 电影原声专辑》[320K/MP3][106.26MB]
- 群星《前途海量 电影原声专辑》[FLAC/分轨][227.78MB]
- 张信哲.1992-知道新曲与精丫巨石】【WAV+CUE】
- 王翠玲.1995-ANGEL【新艺宝】【WAV+CUE】