找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 4095|回复: 0

[求助] 求助!如何使用python读取excel中的数据画出三维地形图

回帖奖励 1 点威望 回复本帖可获得 1 点威望奖励! 每人限 1 次
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 

1

主题

1

帖子

1

积分

贫民

积分
1
Gao_Wen0605@163 发表于 2018-9-1 14:57:10 | 显示全部楼层 |阅读模式
最近,在学习使用python的pandas包处理大量数据,并通过matplotlib包画出三维图出来,自己编写的代码如下:
import pandas as pd
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt

fig = plt.figure()
ax = Axes3D(fig)
X = np.zeros((10, 7)) # 设置了一个10×7的X数组
Y = np.zeros((10, 7)) # 设置了一个10×7的Y数组
print('X prime = ', X.shape)
print('Y prime = ', Y.shape)
ExcelName = pd.read_excel('01.xlsx', header=None) # 01.xlsx是我存放数据的excel文件,01.xlsx数据具体自附件中可见
df = pd.DataFrame(ExcelName)
Z = df.values
for i in range(1, df.shape[0]+1):
    for j in range(1, df.shape[1]+1):
        X[i - 1][j - 1] = (i - 1) * 38.2 # X中的元素代表excel表格中第几行元素经过数据转化变成的坐标
        Y[i - 1][j - 1] = (j - 1) * 38.2 # Y中的元素代表excel表格中第几列元素经过数据转化变成的坐标
X,Y,Z =np.meshgrid(X,Y,Z)ax.plot_surface(X,Y,Z, rstride=1, cstride=1, cmap='sanweitu')
plt.show()
该程序运行后出现错误如下:Traceback (most recent call last):  File "I:/数模模拟/work_place/pandas_owmn.py", line 29, in <module>    ax.plot_surface(X,Y,Z, rstride=1, cstride=1, cmap='sanweitu')  File "D:\Program Files\Python36\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 1636, in plot_surface    raise ValueError("Argument Z must be 2-dimensional.")ValueError: Argument Z must be 2-dimensional.
请教各位大神,帮助一下小弟,最近在学习这方面的东西,请指教一下,或者有好的程序,麻烦发给我拜读一下。谢谢谢

01.xlsx

8.43 KB, 下载次数: 3

程序中需要读取额excel

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表