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

Python中绘制带指向角度的天线坐标三角形标记

实现带波束指向的天线三角形标记(Matplotlib)

你需要为每个天线绘制独立的三角形标记,且三角形头部指向对应的波束角度,可以通过Matplotlib的scatter函数结合旋转参数实现,具体步骤如下:

原始数据

import pandas as pd

df = pd.DataFrame({
    'Antenna': ['A', 'B', 'C', 'D'],
    'Latitude': [19.25, 19.25, 19.29, 19.29],
    'Longitude': [7.21, 7.21, 7.29, 7.29],
    'Angle': [170, 350, 240, 300]
})

修正后的实现代码

import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(8, 6))

# 遍历每条天线数据,绘制带方向的三角形
for _, row in df.iterrows():
    # 核心:通过rotation参数调整三角形指向,适配地理方位角
    ax.scatter(
        row['Latitude'], 
        row['Longitude'], 
        marker='^',  # 三角形标记
        s=200,       # 标记大小
        rotation=-row['Angle'],  # 角度转换:地理顺时针方位角转Matplotlib逆时针旋转
        label=row['Antenna']
    )

ax.set_xlabel('纬度')
ax.set_ylabel('经度')
ax.legend(title='天线编号')
plt.grid(alpha=0.3)
plt.show()

关键说明

  • 角度转换:天线波束角度通常是从正北顺时针计算的方位角,而Matplotlib的rotation参数是让标记逆时针旋转,因此用-row['Angle']来匹配方向。如果你的角度定义不同(比如从x轴正方向逆时针计算),需要调整转换公式。
  • 独立标记:通过遍历DataFrame的每一行,为每个天线单独绘制标记,避免同坐标点的标记重叠覆盖。
  • 图例优化:每个天线单独标注,更清晰区分不同波束指向。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:45:38