如何将二维数组转为两个一维数组绘图并分离Latitude与Depth为numpy数组
分离二维数组为numpy一维数组并绘图
步骤1:导入numpy并转换原始数据
先把你的原始二维数组转换成numpy数组,方便后续操作:
import numpy as np # 原始二维数据(包含表头) raw_data = [['Latitude', 'Depth'], ['28.00303425', '5067.9097'], ['28.00304059', '5068.656'], ['28.01996016', '5067.0303'], ['28.01996016', '5067.0234'], ['28.01996017', '5066.8833']] # 转为numpy数组 data = np.array(raw_data)
步骤2:分离纬度和深度为一维numpy数组
原始数据第一行是表头,所以从第二行开始提取数据,并把字符串格式的数值转为float类型:
# 提取纬度数据(第一列,跳过表头) latitude = data[1:, 0].astype(np.float64) # 提取深度数据(第二列,跳过表头) depth = data[1:, 1].astype(np.float64)
步骤3:用一维数组绘图
以matplotlib为例,直接用分离后的两个一维数组作为坐标轴数据绘图:
import matplotlib.pyplot as plt # 绘制散点图 plt.scatter(latitude, depth, s=10, c='blue') plt.xlabel('Latitude') plt.ylabel('Depth') plt.title('Latitude vs Depth Distribution') plt.grid(True) plt.show() # 如果要绘制折线图,替换为: # plt.plot(latitude, depth)
说明
data[1:, 0]的索引规则:1:表示从第二行开始取所有行,0表示取第一列数据astype(np.float64)必须执行,因为原始数据里的数值是字符串格式,不转换的话无法用于数值绘图- 分离后的
latitude和depth都是一维numpy数组,可以直接传入绘图库的参数中
内容的提问来源于stack exchange,提问作者Abdul Rehman
相关产品推荐
相关产品推荐

