Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 2、线条平滑曲面但有间隔

环境和包:

|-------------------------------|--------------------------------------------------------------|
| 环境 python:python-3.12.0-amd64 | 包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 |

代码:

python 复制代码
import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from scipy.interpolate import griddata
import numpy as np

# 读取Excel文件
#df = pd.read_excel('煤仓模拟参数2 - 副本.xlsx')
df = pd.read_excel('煤仓模拟参数.xlsx')
# 提取x、y、z数据
x = df['X轴'].values
y = df['Y轴'].values
z = df['Z轴'].values

# 创建三维坐标轴对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 使用平滑曲面插值方法创建地形图(假设使用样条插值方法)
#smoothed_terrain = ax.scatter(x, y, z, cmap='viridis')

# 使用griddata函数进行插值,这里使用最近邻插值法,你也可以选择其他的插值方法
# 插值后的数据用于绘制平滑曲面地形图
grid_x, grid_y = np.mgrid[min(x):max(x):100j, min(y):max(y):100j]
grid_z = griddata((x, y), z, (grid_x, grid_y), method='cubic')
# 使用平滑曲面插值后的数据绘制地形图
ax.contourf(grid_x, grid_y, grid_z, cmap='viridis')
ax.grid(True)

# 设置x轴的刻度间隔
ax.set_xticks(np.arange(-7500, 7500, 2500))  # 从-7500到7500,步长为2500

# 设置y轴的刻度间隔
ax.set_yticks(np.arange(-7500, 7500, 2500))  # 从-7500到7500,步长为2500

# 设置z轴的刻度间隔
ax.set_zticks(np.arange(10000, 31000, 2500))   # 从10000到31000,步长为2500
plt.show()

效果图:

资源下载(分享-->资源分享):

链接:https://pan.baidu.com/s/1UlP0lsma8OWchfV5kstEFQ

提取码:kdgr

相关推荐
乐于分享的阿乐1 分钟前
Miniconda3 超详细安装配置教程(附安装包及学习资料)
python
gis分享者10 分钟前
从原理到落地,Python 实现客户细分与销量预测
python·客户细分,销量预测,商业智能
小熊Coding27 分钟前
Python二手图书市场行为分析系统
开发语言·爬虫·python·django·计算机毕业设计·数据可视化分析·二手图书分析系统
AI算法沐枫31 分钟前
机器学习经典小项目4:泰坦尼克号生存预测
人工智能·python·深度学习·线性代数·算法·机器学习·回归
威尔逊·柏斯科·希伯理31 分钟前
机器学习第一天(共12天)
人工智能·python·机器学习·conda·numpy·pandas·matplotlib
愈努力俞幸运42 分钟前
python 三引号
android·开发语言·python
TechWayfarer1 小时前
别让“能用”的IP拖垮业务——共享IP易封禁的原因与IP风险等级评估实战
网络·python·tcp/ip·安全
暴躁小师兄数据学院1 小时前
【AI大模型应用开发工程师特训笔记】第04讲(第1章):Python基础与环境搭建
人工智能·笔记·python·ai
ZHW_AI课题组1 小时前
基于随机森林的红酒质量等级预测分类
人工智能·python·随机森林·机器学习