python之画三维图像
admin
2023-07-20 11:23:07
0

一:利用的包:
(1)构建三维对象:mpl_toolkits.mplot3d里面导入Axes3D
(2)数据方面操作:numpy
(3)绘图工具包:matplotlib.pyplot

二:绘图:
1、绘图主要分成两种情况:
(1)一种是根据函数来绘制三维图
(2)一种是根据三维坐标绘制散点图

2、代码一:绘制散点图(加颜色,修饰什么的省略)

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import csv

#读取数据

datasets=[]
with open(r'a.csv','rt') as f:
             lines=csv.reader(f)
             for line in lines:
                     datasets.append(line)

#获取有用部分
datesets=datasets[1:]

#转化为array数组,便于列数据的切片获取
datasets=np.array(datasets)

#数据类型转换一下,以防止画图时精度缺失报错
X=datasets[:,-3].astype('float32')
Y=datasets[:,-2].astype('float32')
Z=datasets[:,-1].astype('float32')

ax=plt.subplot(111,projection='3d')
ax.scater(X,Y,Z)
ax.set_zlabel('z')
ax.set_ylabel('y')
ax.set_xlabel('x')

plt.show()

代码二:以z=x+y2为例画出三维图:


from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import nmpy as np
fig=plt.figure()
ax=Axes3D(fig)

#生成x,y的网格数据
X=np.arange(-4,4,0.25)
Y=np.arange(-4,4,0.25)

X,Y=np.meshgrid(X,Y)
R=np.sqrt(X+Y**2)

Z=np.sin(R)

ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap='rainbow')

相关内容

热门资讯

长假高速免费早该退场了!全年降... 撰文丨关不羽又到一年一度的端午假期。端午假期的高速不免费,旅游体验比免费的“五一”长假,更值得期待。...
安徽庐江通报12岁女生被掌掴:... 针对网传“庐江县一学生被掌掴”信息,我县高度重视,第一时间成立由教育、公安、卫健等部门为成员的联合调...
云南永善通报两名公职人员涉嫌违... 澎湃新闻记者 朱远祥云南永善两名公职人员因涉嫌违法被查,其中一人酒后驾车,另一人参与赌博。6月18日...
极速达,害了山姆 山姆,最近的事有点多。6月15日,国家市场监督管理总局通报,针对一段时期以来发现的山姆线下门店及线上...
万斯暂不赴瑞士谈判,伊朗强调黎... 据凤凰卫视报道,美国白宫表示,由于美国和伊朗下一阶段谈判的后勤安排尚未敲定,美国副总统万斯将不再按原...
河南牧业经济学院开展“执笔题香... 仲夏迎端午,雅韵满校园。6 月 11 日,河南牧业经济学院 “执笔题香佩 拈韵赋端阳” 端午主题文化...
花栖成境 自在湾居 | 铁建投... 2026 年 6 月 13 日,铁建投城发・花栖樾内高朋云集、雅士齐聚。备受全城瞩目的会呼吸的河岸生...
社群自己“长”起来:越秀中西部... 社区是城市最小的聚落单元,那么社群,便是这片土地上自发生长出的情感共同体。这份对邻里情感的珍视,是越...
中原润府一周年项目白皮书发布,... 当前,购房者的顾虑集中在三个层面:能否如期交付?实景是否与承诺一致?物业和社区运营能否跟上?这些担忧...