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

能否用Polar Chart实现帆船性能极坐标图效果?

航海极坐标性能图的实现方案

完全可以用**极坐标图(Polar Chart)**实现你要的这类帆船性能图,甚至很多主流可视化工具/库都能通过配置达成类似效果,核心是把你的数据正确映射到极坐标的轴上:

数据映射逻辑

  • 罗盘角度 → 极坐标的角度轴(theta轴):注意航海习惯里0°对应正北,且角度顺时针递增,需要调整轴的起始方向和旋转方向
  • 风速增量 → 独立的数据系列:每个风速对应一条曲线,用不同颜色区分
  • 船速 → 极坐标的半径轴(r轴):半径长度对应船速快慢,越长代表船速越高

主流工具的实现思路

Chart.js

用极坐标折线图配置,调整角度轴的起始值和方向,每个风速作为一个数据集:

const ctx = document.getElementById('sailPolar').getContext('2d');
new Chart(ctx, {
  type: 'line',
  data: {
    datasets: [
      {
        label: '5节风速',
        data: [{x:0,y:3.2}, {x:45,y:4.1}, {x:90,y:4.8}], // 示例角度-船速数据
        borderColor: '#2ecc71',
        fill: false,
        tension: 0.3 // 曲线平滑
      },
      {
        label: '8节风速',
        data: [{x:0,y:4.5}, {x:45,y:5.8}, {x:90,y:6.3}],
        borderColor: '#3498db',
        fill: false,
        tension: 0.3
      }
    ]
  },
  options: {
    scales: {
      r: { title: { display: true, text: '船速(节)' } },
      theta: {
        startAngle: 90, // 0°对应正北
        direction: 'clockwise', // 顺时针角度递增
        title: { display: true, text: '罗盘角度' },
        ticks: { stepSize: 45 }
      }
    }
  }
});

D3.js

手动构建极坐标比例尺,绑定分组后的风速数据,绘制平滑曲线,适合高度自定义的场景:

  • 用d3.scaleRadial()和角度映射比例尺构建坐标系统
  • 按风速分组数据,生成多条路径,添加轴刻度和标注

Plotly

用polar类型图表,配置theta轴的方向和起始点,每个风速对应一个trace:

import plotly.graph_objects as go

fig = go.Figure()
# 添加5节风速数据
fig.add_trace(go.Scatterpolar(
  r=[3.2,4.1,4.8],
  theta=[0,45,90],
  name='5节风速',
  mode='lines+markers'
))
# 添加8节风速数据
fig.add_trace(go.Scatterpolar(
  r=[4.5,5.8,6.3],
  theta=[0,45,90],
  name='8节风速',
  mode='lines+markers'
))

fig.update_layout(
  polar=dict(
    radialaxis=dict(title='船速(节)'),
    angularaxis=dict(
      direction='clockwise',
      rotation=90, # 0°对应正北
      tickvals=[0,45,90,135,180,225,270,315]
    )
  )
)
fig.show()

关键配置注意点

  • 角度轴的起始与方向:必须调整为航海习惯的“正北0°、顺时针递增”,否则图表方向会和参考图不符
  • 数据平滑:如果部分角度没有记录数据,可以用插值算法补全,让曲线更连贯
  • 图例与标注:明确标注每个曲线对应的风速,方便读取数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 20:38:14