Radar Chart
fandhe-frontend-pre-styled-ui の charts(内包)mod が提供するスタイル済み Radar Chart 部品です。
イシュー #2085 で shadcn/ui Charts(radar、14 バリアント)と突合し、グリッド種(多角形/正円/なし)・グリッド塗り・スポーク有無・外周 1 本グリッド・塗りなし・データ点(dots)・値付き軸ラベル・半径軸の静的バリアントを RadarChartProps の純追加で補完しました。マウス追従ツールチップ・hover 強調は #2086/#2128、凡例の系列トグルは #2132 のスコープです。
Demo
ChartData(カテゴリ = 軸、系列 = ポリゴン)+ LinearScale + SVG ノード木生成ヘルパーのみで組み立てる、外部依存ゼロのレーダーチャートです。頂点角度は θ_i = -π/2 + i・2π/n(12 時方向開始・時計回り)の決定的な式で算出します。イシュー #2085 で shadcn/ui Charts(radar、14 バリアント)と突合し、グリッド種・グリッド塗り・スポーク有無・dots・値付き軸ラベル・半径軸の静的バリアントを純追加で補完しました。凡例は charts::legend との合成で表現します。マウス追従ツールチップ・hover 強調は #2086/#2128、凡例の系列トグルは #2132 のスコープです。
Features
- ChartData(カテゴリ = 軸、系列 = ポリゴン)+ LinearScale + SVG ノード木生成ヘルパーのみで組み立てる外部依存ゼロのレーダーチャート
- 頂点角度は θ_i = -π/2 + i・2π/n(12 時方向開始・時計回り)の決定的な式で算出する
- 系列ポリゴンの輪郭は stroke-width 2 / round join で line-chart・area-chart と統一(イシュー #1597)
- グリッド種・グリッド塗り・スポーク有無・dots・値付き軸ラベル・半径軸の静的バリアント(イシュー #2085、shadcn/ui Charts(radar)突合)
- 既定値は #2085 以前と完全に同一の HTML を出力する(golden 純追加原則)
- 凡例は charts::legend、ツールチップは charts(共通 API)側の別部品との合成で表現する
Anatomy
root
grid
spoke
axis-label
series
point
axis-value
radius-labelAPI Reference
Arguments
| Name | Type | Default | Description |
|---|---|---|---|
size | f64 | 300.0 | viewBox の一辺の長さ(正方形、px 相当)。 |
grid | RadarGrid | Polygon | 同心グリッドの形状(Polygon/Circle/None)。shadcn/ui chart-radar-default/-grid-circle/-grid-none 相当。 |
grid_rings | RadarGridRings | Ticks | グリッドの同心リング本数(Ticks/Outer)。Outer は外周 1 本のみ描く静的近似。shadcn/ui chart-radar-grid-custom 相当。 |
grid_fill | RadarGridFill | None | グリッドの塗り(None/Series)。Series は先頭系列色で塗る。shadcn/ui chart-radar-grid-fill/-grid-circle-fill 相当。 |
spokes | bool | true | スポーク(中心 → 各軸頂点の線)の描画有無。shadcn/ui radialLines 相当。 |
fill | RadarFill | Solid | 系列ポリゴンの塗り(Solid/None)。shadcn/ui chart-radar-lines-only 相当。 |
dots | bool | false | データ点マーカーの描画有無。shadcn/ui chart-radar-dots 相当。 |
axis_label | RadarAxisLabel | Category | 軸ラベルの内容(Category/ValueAndCategory)。ValueAndCategory は各系列の値を / 区切りで併記する。shadcn/ui chart-radar-label-custom 相当。 |
radius_axis | bool | false | 半径軸(値目盛ラベル)の描画有無。角度は軸 0/1 中間角に固定(静的近似)。shadcn/ui chart-radar-radius 相当。 |
Data Attributes
| Part | Attribute | Observed Values |
|---|---|---|
point | data-index | 0, 1, 2, 3, 4 |
point | data-series | mercury, venus |
series | data-series | mercury, venus |
Examples
2 系列のレーダーチャート
5 軸(speed/power/range/control/armor)× 2 系列(mercury/venus)を重ねて表示します。
グリッド種と塗り + dots
grid: RadarGrid::Circle + grid_fill: RadarGridFill::Series + dots: true で正円グリッドを系列色で塗り、データ点を表示します。
値付き軸ラベルと半径軸
axis_label: RadarAxisLabel::ValueAndCategory + radius_axis: true で各軸に値付きラベルと半径方向の目盛を表示します。
凡例(icon 付き)との合成
charts::legend::legend を並べて凡例を合成します(系列に with_icon でアイコンを設定)。