python画3D曲面图

  • 过程理解
    • 参考程序
    • 理解过程
    • 坐标点画网格
    • python.np的命令集

过程理解

参考程序

import numpy as np
import plotly.graph_objs as go
import matplotlib.pyplot as pltdef f(x, y):frerate=(0.8*(y-300)-0.5*(y-800))/500      z = minf+(maxf-minf)*freratereturn zdef fig():a = np.linspace(start=300, stop=800, num=50,dtype=np.int32)#开始值300,结束值800,生成50个数字b = np.linspace(start=50, stop=300,num=50,dtype=np.int32)print(a)print(b)x, y = np.meshgrid(a, b)print(x)print(y)mesh(x, y)z = f(x, y)print(z)fig = go.Figure(data=[go.Surface(x=x, y=y, z=z)])fig.update_layout(title_text='3D',height=800,width=800,autosize=False,margin=dict(l=65, r=50, b=65, t=90))fig.show()# 观察通过meshgrid形成的x-y坐标轴数据点
def mesh(x, y):plt.xlabel('x axis')plt.ylabel('y axis')plt.plot(x, y, marker='.',markersize=1, color='red', linestyle='none')plt.grid()plt.show()if __name__ == '__main__':fig()

理解过程

numpy.meshgrid()理解 参考这个文章

一句话解释numpy.meshgrid()——生成网格点坐标矩阵。
关键词:网格点,坐标矩阵

坐标点画网格

将对应的X,Y坐标点化成网格

def mesh(x, y):plt.xlabel('x axis')plt.ylabel('y axis')plt.plot(x, y, marker='.',markersize=1, color='red', linestyle='none')plt.grid()plt.show()

效果如下:

可以同过调整plt.plot的命令参数修改画出来的红点效果

plt.plot(x, y, marker='.',markersize=1, color='red', linestyle='none')

这个可以通过代码检验效果

python.np的命令集

来源参考这里➡来自知乎链接

'''Numpy库吐血大整理'''import numpy as np#一维数组(newaxis可以行转列)
d=np.arange(1,10,1)
#开始值1,结束值9,步长是1的一维数组
e=np.linspace(1,12,num=5,endpoint=True,retstep=True)#等差数列
#开始值1,结束值12,生成5个数字,包含结束值(默认为True),返回步长
f=np.logspace(1,10,num=10,endpoint=True,base=2)#等比数列
#开始值2的1次方,结束值2的10次方,生成10个数字,包含结束值,底数为2#二维数组
a=np.zeros((3,4))
#3行4列全是0
b=np.ones((3,4))
#3行4列全是1
c=np.full((3,4),2.0)
#3行4列全是2
g=np.identity(3)
#3行3列,对角线是1,其他全是0#数组的连接和分割
print(np.concatenate((a,b),axis=0))
#连接a,b俩数组沿着0轴方向,默认为0轴
print(np.vstack((a,b)))
#连接a,b俩数组沿着0轴方向,1轴元素个数必须相同
print(np.hstack((a,b)))
#连接a,b俩数组沿着1轴方向,0轴元素个数必须相同
print(np.split(a,3,axis=0))
#沿着0轴方向切割a数组将其分为3个二维数组,结果为列表,默认沿着0轴
print(np.vsplit(a,3))
#沿着0轴方向切割a数组将其分为3个二维数组,结果为列表
print(np.hsplit(a,4))
#沿着1轴方向切割a数组将其分为4个二维数组,结果为列表#random模块
print(np.random.rand(5,2))
#5行2列的数组,元素是大于等于0小于1的浮点数
print(np.random.randn(5,2))
#5行2列的数组,元素是标准正态分布随机数(平均值0,标准差1)
print(np.random.randint(low=0,high=100,size=5))
#一个列表,有5个大于等于1小于100的整数
print(np.random.normal(loc=10,scale=2,size=5))
#一个列表,有5个平均值是10标准差是2的正态分布随机数#排序
x=np.array([[3,1,4],[2,5,3],[1,8,3]])
print(np.sort(x,axis=-1))
#沿着最后一个轴(即1轴)对x数组内元素进行从小到大排序
print(np.argsort(x,axis=-1))
#沿着最后一个轴(即1轴)对x数组内元素进行从小到大排序,展示的结果是元素的索引#聚合函数(nan可以排除null和异常值)
print(np.sum(x))
#求各元素之和
print(np.cumsum(x,axis=0))
#按照0轴依次累加,也就是从上往下累加
print(np.cumsum(x,axis=1))
#按照1轴依次累加,也就是从左往右累加
print(np.cumprod(x,axis=1))
#从左往右累乘
print(np.cumprod(x,axis=0))
#从上往下累乘
print(np.amax(x))
#求元素中的最大值
print(np.amin(x))
#求元素中的最小值
print(np.mean(x))
#求元素的平均值
print(np.average(x,axis=None,weights=None))
#weights表示权重,它的值要和原数组格式一样,里面各个元素之和等于1#保存
np.save('SE.npy',x,allow_pickle=True,fix_imports=True)
#allow_pickle表示十分允许使用PICKLE保存数组对象,fix_imports表示十分允许PY2读取3的数据
np.savez('NPZ.npz')#读取
np.load('NPZ.npz',mmap_mode=None,allow_pickle=True,fix_imports=True)#数组的广播原理
1,如果两个数组维度数不一样,那么小的数组会补齐维度
比如[1,2,3]+5,会广播成[1,2,3]+[5,5,5]
2,如果两个数组只有一个维度一样,那么小的数组会按照大的数组补齐维度
3,如果两个数组形状在任何一个维度都不一样且没有一个维度是1,就报错

1

python画3D曲面图相关推荐

  1. PyTorch深度学习——PyCharm中使用matplotlib画3D曲面图

    本篇仅针对使用matplotlib画3D曲面图,其他类型的3D图可根据本实例举一反三进行绘制. 具体步骤: 1.Pycharm如果没有matplotlib,第一部需要先安装matplotlib 点击F ...

  2. python画3d圆形图,Python绘制3D图形

    3d图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行3d图形的绘制,包括3d散点.3d表面.3d轮廓.3d直线(曲线)以及3d文字等的绘制 ...

  3. python画3d圆形图_Python之Numpy:二元函数绘制/三维数据可视化/3D

    意义 在机器学习任务中选择计算模型或者学习数学时,可视化有助于研究函数值的变化趋势(观察收敛.分布.几何形状等),带来直观的感受. 源码 # 绘制二元函数 # 参考文献 # + python画二元函数 ...

  4. 这图怎么画| 3D曲面图(3d surface plots)

    3d 写在前面 [这图怎么画]系列的图都来自VIP群里同学的提问.推文只是对图片的复现,不代表作者对图片展现形式的认同.欢迎同学们在群里分析有意思的图片. 本期图片 Zhou Z, Zhou X, C ...

  5. python使用matplotlib可视化3D曲面图、曲面图表示一个指定的因变量y与两个自变量x和z之间的函数关系

    python使用matplotlib可视化3D曲面图.曲面图表示一个指定的因变量y与两个自变量x和z之间的函数关系 目录

  6. Python使用matplotlib进行3D可视化分析:3d柱状图、3d直方图、3d线框图、3d曲面图、3d翼面图(莫比乌斯环)

    Python使用matplotlib进行3D可视化分析:3d柱状图.3d直方图.3d线框图.3d曲面图.3d翼面图(莫比乌斯环) 目录

  7. python绘制三维曲面图-Python中使用Matplotlib绘制3D图形示例

    原标题:Python中使用Matplotlib绘制3D图形示例 3D图形能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的3D绘图工具.3D图形在数据分析.数据建模. ...

  8. python绘制3d图-python3利用Axes3D库画3D模型图

    Python3利用Axes3D库画3D模型图,供大家参考,具体内容如下 最近在学习机器学习相关的算法,用python实现.自己实现两个特征的线性回归,用Axes3D库进行建模. python代码 im ...

  9. python画3d图-python3利用Axes3D库画3D模型图

    Python3利用Axes3D库画3D模型图,供大家参考,具体内容如下 最近在学习机器学习相关的算法,用python实现.自己实现两个特征的线性回归,用Axes3D库进行建模. python代码 im ...

最新文章

  1. RADAR和LIDAR区别分析
  2. 仿美团外卖的全栈项目(vue+node+mongodb)带支付-大三求实习
  3. python程序只能使用源代码进行运行吗-谈谈 Python 程序的运行原理
  4. c++ 写x64汇编 5参数_Vs配置汇编开发环境,智能提示、代码颜色应有尽有~来打我呀...
  5. 手把手教你在Linux上搭建BitTorrent服务器
  6. spring 之 property-placeholder 分析
  7. Java Optional的使用实践概述
  8. UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128)
  9. deepin应用分发_Deepin Dock隐藏功能等功能说明
  10. 让一个软件系统同时支持多个多种数据库灵活配置,让客户可以任意配置各个核心数据库部分...
  11. pip常用命令、配置pip源
  12. 电脑版微信如何实现消息批量发送
  13. 洛谷 P1097 统计数字
  14. Google官方架构MVI
  15. 安装运行太极框架Android搞机操作root
  16. 小猪佩奇代码 Python
  17. Aiml智能标记语言规范(20201216)
  18. IBM造海水电池,“搅局”锂电池产业?
  19. MySQL储存过程详解
  20. crc16 java包_【Java】CRC16Utils(CRC-16 工具类)

热门文章

  1. Ionic 安装运行
  2. 视频教程-CCNP 思科认证网络工程师(美女讲师版)-思科认证
  3. 电影《天道》经典台词---对传统观念的抨击
  4. 公司增值税太高了怎么办?除了此法解决就别无他法了吗?
  5. Pandas的count()与value_counts()区别
  6. 好用的程序启动器Launchy (windows only)
  7. 装修完多久可以入住 新房甲醛一般多久挥发完
  8. 大数据Spark面试,distinct去重原理,是如何实现的
  9. Dynatrace分布式跟踪之Alibaba Dubbo
  10. MySQL保存计算结果_数据库保存计算结果 fluent计算完成后怎么保存