You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python在坐标网格上叠加带色阶的磁数据点?

磁数据坐标点色阶可视化实现方案

需求说明

现有约50000个地表沿线坐标点数据(含纬度、经度),对应位置的磁数据存储在数据文件第4列。需基于已有numpy和matplotlib代码,叠加磁数据并通过色阶展示每个坐标点的磁数据值,实现带颜色标记的坐标点可视化。

原代码

import numpy as np
import matplotlib.pyplot as plt

path_to_file ="C:/Users/23928352/Desktop/Data/Value.txt"

Data = np.loadtxt(path_to_file)

print(Data.head())
print(Data.shape)
print(Data.dtypes)

NORTH=Data[:,2]
EAST=Data[:,3]

plt.figure()
plt.plot(NORTH,EAST)
plt.grid()
plt.show()

fig, ax=plt.subplots()

X= 'NORTH'
Y= 'EAST'

ax.plot('X,Y')

修正并完善后的代码

import numpy as np
import matplotlib.pyplot as plt

path_to_file ="C:/Users/23928352/Desktop/Data/Value.txt"

# 加载数据
Data = np.loadtxt(path_to_file)

# 修正numpy数组的打印方式(numpy无head()和dtypes属性)
print("数据前5行:\n", Data[:5])
print("数据形状:", Data.shape)
print("数据类型:", Data.dtype)

# 提取坐标和磁数据:根据需求调整列索引
# 注:若磁数据是文件第4列(从1开始计数),对应numpy索引为3,需同步调整EAST的索引
NORTH = Data[:, 2]   # 纬度(文件第3列)
EAST = Data[:, 3]    # 经度(文件第4列)
MAG_DATA = Data[:, 4]# 磁数据(文件第5列;若磁数据是第4列,改为Data[:,3])

# 创建画布和轴对象
fig, ax = plt.subplots(figsize=(10, 8))

# 用散点图展示坐标点,颜色绑定磁数据
scatter = ax.scatter(EAST, NORTH, c=MAG_DATA, cmap='viridis', s=5, alpha=0.7)

# 添加可视化细节
ax.grid(True, linestyle='--', alpha=0.6)
ax.set_xlabel('经度 (EAST)')
ax.set_ylabel('纬度 (NORTH)')
ax.set_title('地表沿线磁数据分布可视化')

# 添加颜色条标注磁数据含义
plt.colorbar(scatter, ax=ax, label='磁数据值')

# 显示图形
plt.show()

关键修改说明

  • 修正numpy数组错误用法:将Data.head()改为Data[:5],Data.dtypes改为Data.dtype,适配numpy数组属性。
  • 提取磁数据:根据文件实际列位置调整索引,确保正确获取磁数据列。
  • 替换绘图方式:用scatter替代plot,通过c参数将磁数据与点颜色绑定,cmap指定色阶样式(可替换为jet、plasma等)。
  • 优化可读性:调整点大小、透明度,添加网格、坐标轴标签和颜色条,提升图表信息传递效率。

内容的提问来源于stack exchange,提问作者Chandula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 13:53:20