- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
利用python绘制二三维曲面和矢量流线图的代码示例
目录准备数据阶段一、利用xyz绘制三维曲面二、利用xyz生成网格后绘制三维曲面三、利用xyz实现三维等值线绘制,降雨量三维等值线图四、绘制二维等值线五、绘制矢量流线图为了实现不同数据的可视化,最近研究了python环境下的可视化方案,为后续的流体运动仿真模拟做好储备,由于python处理数据的便利性,导致目前很多后端处理或者可视化成图操作都在python中实现,比如前端是vue,加上简单的交互操作,后端搭建webserver,可采用java或者python来搭建,并利用python在后端处理数据,形成可视化图件等;本文主要在python3.10环境下,利用matplotlib.pyplot、scipy.interpolate、numpy、pandas实现数据的处理,网格数据的生成,各自平面图和三维图形的绘制,并加入自定义颜色栏。在绘图开始之前,需要准备数据,一般包括读取和准备数据,以及简单的数据处理过滤等,后续会在此基础上进行绘图操作或继续进行数据处理及可视化等。
准备数据阶段
#准备数据读取数据
#0.读写实际数据生成三维曲面,数据格式为xyz
filename=rD:\project\PythonProject\ECL\data\geochemical-data\2025_T28.txt
dataTop=pd.read_csv(filename,sep=\t,header=None,names=[x,y,z])
#去掉无效数据,一般为-99999.0000
data=dataTop[dataTop[z]!=-99999.0000]
x=data.iloc[:,0]
y=data.iloc[:,1]
z=data.iloc[:,2]*(-1)#深度值是负数,要取反。
xi=np.linspace(min(x),max(x))
yi=np.linspace(min(y),max(y))
xi,yi=np.meshgrid(xi,yi)#将一维数据处理为二维的网格数据
zi=griddata(data.iloc[:,0:2],z,(xi,yi),method=cubic)#用法详见附录1
2025_T28.txt文件内容
读取后的数据样式,xyz的shape形状,都是相同长度的一维数组,即(12766,)(12766,)(12766,).
一、利用xyz绘制三维曲面
fig=plt.figure()
ax=fig.add_subplot(111,projection=3d)
ax.plot_trisurf(x,y,z,color=white,edgecolors=grey,alpha=0.5)#绘制三角网格组成的三维曲面
ax.scatter(x,y,z,c=red)#绘制三维散点图
plt.show()
利用三角网格绘制的三维曲面图和三维散点图
二、利用xyz生成网格后绘制三维曲面
fig=plt.figure()
#ax=plt.axes(projection=3d)
ax=fig.gca(projection=3d)
surf=ax.plot_surface(xi,yi,zi,cmap=BuPu,linewidth=0,antialiased=True)#绘制三维曲面
#surf=ax.scatter(xi,yi,zi,cmap=BuPu,linewidth=0,antialiased=True)#绘制三维散点图
#surf=ax.contourf(xi,yi,zi,zdim=z,offset=0.3,cmap=BuPu)#等高线面图(contourf)或等高线图(contour),要设置offset,为Z的最小值,
fig.colorbar(surf)
ax.set_title(三维图)
ax.set_zlim3d(np.min(z),np.max(z))
plt.show()
三维曲面图、散点图和等值线图
三、利用xyz实现三维等值线绘制,降雨量三维等值线图
filename=rD:\project\PythonProject\ECL\data\geochemical-data\0.txt#数据文件地址,附件1
df=pd.read_csv(filename,sep=\t)#读取文件
df1=df[1]#读取第一列数据
df2=d
您可能关注的文档
最近下载
- 老年慢性肌肉骨骼疼痛热敏灸技术规范.pdf VIP
- 行业标准《氧化锆、氧化铪化学分析方法 第13部分:氧化铪中硼、钠、镁、铝、硅、钙、钛、钒、铬、锰、铁、钴、镍、铜、锌、锆、铌、钼、镉、锡、锑、钽、钨、铅、铋含量的测定 电感耦合等离子体质谱法》编制说明(预审稿).docx VIP
- 人防通风控制箱.pdf VIP
- 关于医院“十五五”五年发展规划(2025年-2029年).docx VIP
- JTT - 危险货物道路运输营运车辆安全技术条件(1).docx VIP
- 关于医院“十五五”五年发展规划(2025年-2029年).pdf VIP
- 人工智能时代高职综合英语课程思政的融合与创新.pdf VIP
- 8-山东省商贸企业安全生产诊断分类分级指导标准.docx VIP
- 天气预报早会游戏.ppt VIP
- 工学一体化课程《小型网络管理与维护》任务2单元2教学单元活动方案.docx VIP
文档评论(0)