Tracking: trace types not yet exposed in plotly.rs (plotly.js 3.7.0 parity)
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 38/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- rust
調査の方向性
まず CONTRIBUTING.md と CLAUDE.md を確認し、その後 plotly/src/traces/ にある既存の trace と PlotType enum を調べます。未チェックの trace タイプを 1 つ選び、確立されたパターンに従って、その trace モジュール、enum バリアント、エクスポート、シリアライズのラウンドトリップテスト、CHANGELOG.md のエントリを追加します。選択した trace が公開され、正しくシリアライズされれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Tracking: trace types not yet exposed in plotly.rs (plotly.js 3.7.0 parity)
Summary
Measured against the actively-supported trace types in plotly.js 3.7.0, plotly.rs exposes 27 of 46, leaving 19 unimplemented. This issue tracks the remaining trace types so contributions can be coordinated and duplicate work avoided.
plotly.js 3.7.0 defines 49 trace types, but 3 are deprecated (the Mapbox family — see below) and are excluded from the parity target. The list was generated by diffing the trace type tags plotly.rs can serialize (the PlotType enum) against the authoritative plot-schema.json shipped with plotly.js v3.7.0.
Note: this is trace-type coverage. Attribute-level parity for the already-implemented traces is being addressed separately in the plotly.js 3.7 attribute backfill work.
Deprecated in plotly.js 3.7.0 — excluded from parity (3)
These are deprecated upstream in favour of the MapLibre map subplot traces (migration guide):
| Deprecated trace | Recommended replacement | plotly.rs status |
|---|---|---|
scattermapbox |
scattermap |
both already exposed |
densitymapbox |
densitymap |
both already exposed |
choroplethmapbox |
choroplethmap |
replacement already exposed; deprecated trace not implemented (and won't be) |
plotly.rs already ships every recommended map replacement, so there is no coverage gap here — no action needed. The two deprecated traces that are implemented (scattermapbox, densitymapbox) can be retained for back-compat and eventually deprecated in lockstep with upstream.
Currently exposed — actively-supported (27)
bar · box · candlestick · choropleth · choroplethmap · contour · densitymap · heatmap · histogram · histogram2dcontour · image · mesh3d · ohlc · pie · sankey · scatter · scatter3d · scattergeo · scattergl · scattermap · scatterpolar · scatterpolargl · sunburst · surface · table · treemap · violin
(plus the deprecated scattermapbox and densitymapbox, listed above)
Missing — actively-supported (19)
3D scientific / volumetric
-
cone— 3D vector / quiver fields -
streamtube— 3D flow streamlines -
isosurface— 3D isosurfaces from volume data -
volume— 3D volume rendering
Carpet family (needs a shared carpet-axis abstraction)
-
carpet— base carpet axis system -
contourcarpet— contours on a carpet axis -
scattercarpet— scatter on a carpet axis
Cartesian statistical / financial
-
histogram2d— 2D histogram heatmap -
funnel— funnel charts -
waterfall— waterfall / bridge charts
Parallel-coordinate
-
parcoords— parallel coordinates (continuous) -
parcats— parallel categories (categorical)
Specialized subplots
-
barpolar— bar charts on a polar axis (wind-rose) -
scatterternary— scatter on a ternary (3-component) plot -
scattersmith— scatter on a Smith chart (RF / impedance)
Hierarchical
-
icicle— icicle charts (sibling ofsunburst/treemap)
Other
-
indicator— KPI gauges / number + delta displays -
splom— scatter-plot matrix -
funnelarea— funnel-area (pie-like funnel)
Suggested prioritization
- Cheap wins — close siblings of existing traces that can reuse most of their building blocks:
histogram2d(cf.histogram2dcontour/heatmap) andicicle(cf.sunburst/treemap). - High user demand — common business-chart types:
indicator,funnel,waterfall,barpolar. - Larger effort — the carpet family (
carpet+contourcarpet+scattercarpet) depends on first modelling a shared carpet-axis abstraction.
Notes for implementers
Adding a trace follows the established pattern (see CONTRIBUTING.md / CLAUDE.md):
- Create
plotly/src/traces/<name>.rs, deriveFieldSetterwith#[field_setter(box_self, kind = "trace")]. - Add the corresponding
PlotTypevariant (with the correct serderename). - Implement
Trace::to_json, then re-export fromtraces/mod.rsandlib.rs. - Add a serialize round-trip test and a
CHANGELOG.mdentry.
- 主要言語
- Rust
- スター
- 1.5k
- フォーク
- 128
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
plotly/plotly.rs のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 62/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 62/100
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
-
enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
plotly/plotly.rs の issue をすべて見る
似ている issue
-
type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
registrystack/registry-stack#1239 ·
-
risk:low runtime status:in-progress type:test
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
zeroclaw-labs/zeroclaw#11023 ·
-
good first issue refactor
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
EricSpencer00/Resilient#4835 · コメント 1 件 ·