环境和包:
环境
python:python-3.12.0-amd64包:
matplotlib 3.8.2
pandas 2.1.4
openpyxl 3.1.2
代码:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.colors import ListedColormap# 读取Excel文件中的空间坐标数据
df = pd.read_excel('煤仓模拟参数.xlsx')
#df = pd.read_excel('煤仓模拟参数2 - 副本.xlsx')# 假设您的数据在'X'和'Y'列中,高度数据在'Z'列中
x = df['X轴']
y = df['Y轴']
z = df['Z轴'] # 根据您的数据调整此列名# 创建3D图形对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 定义一个自定义颜色映射
#cmap = ListedColormap(['blue', 'green', 'yellow', 'orange','Red'])
# 绘制地形图(camp:coolwarm,viridis,plasma,inferno,magma,cividis,rainbow)
ax.plot_trisurf(x, y, z, cmap='viridis',linewidth=0, antialiased=False)# 设置x轴的刻度
#ax.set_xticks([-7500, -5000, -2500, 0, 2500, 5000, 7500])# 设置y轴的刻度
#ax.set_yticks([-7500, -5000, -2500, 0, 2500, 5000, 7500])# 设置z轴的刻度
#ax.set_zticks([-7500, -5000, -2500, 0, 2500, 5000, 7500])# 设置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