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

环境和包:

|-------------------------------|--------------------------------------------------------------|
| 环境 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('煤仓模拟参数.xlsx')

# 提取x、y、z坐标数据
x = df['X轴'].values
y = df['Y轴'].values
z = df['Z轴'].values

# 设置网格大小和插值方法
grid_size = 100

# 创建3D图形对象并绘制平滑曲面
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 生成网格坐标
grid_x, grid_y = np.mgrid[min(x):max(x):grid_size, min(y):max(y):grid_size]

# 计算平滑曲面高度
grid_z = griddata((x, y), z, (grid_x, grid_y), method='cubic')


#ax.scatter(x, y, z)  # 也可以绘制原始的点云
ax.plot_surface(grid_x, grid_y, grid_z, cmap='viridis')  # 绘制平滑曲面
# 设置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

相关推荐
清水白石0089 分钟前
Python 内存陷阱深度解析——浅拷贝、深拷贝与对象复制的正确姿势
开发语言·python
国家二级编程爱好者11 分钟前
删除typora文档没有引用的资源文件
git·python
进击的雷神12 分钟前
邮箱编码解码、国际电话验证、主办方过滤、多页面深度爬取——柬埔寨塑料展爬虫四大技术难关攻克纪实
爬虫·python
深蓝电商API1 小时前
多线程 vs 异步 vs 多进程爬虫性能对比
爬虫·python
bu_shuo1 小时前
字体中的【family】【serif】【sans-serif】
matplotlib·字体·衬线字体·无衬线字体
进击的雷神1 小时前
相对路径拼接、TEL前缀清洗、多链接过滤、毫秒级延迟控制——日本东京塑料展爬虫四大技术难关攻克纪实
爬虫·python
云溪·1 小时前
Milvus向量数据库混合检索召回案例
python·ai·milvus
柒.梧.1 小时前
Java集合核心知识点深度解析:数组与集合区别、ArrayList原理及线程安全问题
java·开发语言·python
AsDuang2 小时前
Python 3.12 MagicMethods - 49 - __imatmul__
开发语言·python
小湘西2 小时前
拓扑排序(Topological Sort)
python·设计模式