利用python绘制二三维曲面和矢量流线图的代码示例.docx

利用python绘制二三维曲面和矢量流线图的代码示例.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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

文档评论(0)

158****7369 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档