mcpField
D
docs-lens-chart-settings

docs-lens-chart-settings

github.com/elasticドキュメント72147 回インストール2 日前に更新
リポジトリ

docs-lens-chart-settings について

Kibana Lens のチャート設定を記述する人向けのドキュメント作成スキルです。ソースコードで UI ラベル、表示順、条件付きオプションを確認し、パーティションチャート間の違いも扱います。

主な機能

  1. 01i18n 文字列で UI ラベルを確認
  2. 02JSX から設定の表示順を確認
  3. 03条件付きレンダリングを追跡
  4. 04パーティションチャートの設定を比較
  5. 05凡例オプションの表示条件を確認

活用シーン

  1. 01円グラフとドーナツ設定の記述
  2. 02凡例コントロールと順序の確認
  3. 03チャート種別ごとの条件付き項目の説明

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/elastic/elastic-docs-skills --skill docs-lens-chart-settings

インストール後、Claude Code で/docs-lens-chart-settingsを入力して読み込まれたか確認します。

同梱ファイルevals/evals.json

詳細

ソースコードから Kibana Lens のグラフ設定を確認する

Lens のグラフ設定を文書化する際は、Kibana のソースコードを参照し、ラベル、オプション、表示順を必ず確認してください。UI のラベルを推測してはいけません。

主な原則

  1. UI ラベルは i18n の defaultMessage 文字列から取得します — 正確なラベルを必ず抽出してください。
  2. JSX の表示順 = UI の表示順です — コンポーネントツリーに表示される順序と同じ順序で設定を記載してください。
  3. 条件付きレンダリングは至るところで使われています — グラフの種類、選択したオプション、ディメンションの数など、特定の条件でのみ表示される設定が多数あります。条件をたどってください。
  4. 共有コンポーネントはグラフごとにパラメーター化されています — 同じ LegendSettings コンポーネントでも、渡される props によって、ツリーマップ、ワッフル、円グラフで動作が異なります。

ソースコードの構成

パーティション型のグラフ(円グラフ、ドーナツグラフ、ツリーマップ、モザイク、ワッフル)

すべてのパーティション型グラフのコードは、次の場所にあります。

x-pack/platform/plugins/shared/lens/public/visualizations/partition/
├── partition_charts_meta.ts          # Per-chart config (toolbar options, legend config)
├── toolbar/
│   ├── style_settings.tsx            # Orchestrates Style panel sections
│   ├── titles_and_text_settings.tsx  # Slice labels + Slice values options
│   ├── appearance_settings.tsx       # Donut hole (pie/donut only)
│   └── legend_settings.tsx           # Partition-specific legend wrapper

共有レジェンドコンポーネント:

x-pack/platform/plugins/shared/lens/public/shared_components/legend/
├── legend_settings.tsx               # Main legend settings (Visibility, Size, Truncation, Nested, Stats)
├── location/legend_location_settings.tsx  # Position (only when `location` prop is defined)
└── size/legend_size_settings.tsx     # Width/Size dropdown
その他のグラフの種類

各グラフの種類には、visualizations/ 配下に専用のディレクトリがあります。

  • 棒グラフ、折れ線グラフ、面グラフは visualizations/xy/
  • visualizations/heatmap/
  • visualizations/gauge/
  • visualizations/metric/
  • visualizations/tagcloud/

確認手順

ステップ 1:グラフのメタデータを探す

パーティション型グラフの場合は、partition_charts_meta.ts から確認を始めます。このファイルでは、グラフごとに以下を定義しています。

  • toolbar.categoryOptions — スライスラベルのオプション(または、該当しない場合は空の配列)
  • toolbar.numberOptions — スライス値のオプション(または、該当しない場合は空の配列)
  • toolbar.emptySizeRatioOptions — ドーナツの穴のオプション(円グラフ/ドーナツグラフのみ)
  • toolbar.isDisabled — スタイルパネル全体を無効にするかどうか(ワッフル)
  • legend.defaultLegendStats — レジェンドで「統計情報/値を表示」を有効にする(ワッフルのみ)
  • legend.hideNestedLegendSwitch — 「ネスト」トグルを非表示にする(ワッフル)
  • legend.getShowLegendDefault — 自動モードでのレジェンド表示のデフォルト動作
  • maxBuckets — 「グループ化」の最大ディメンション数
ステップ 2:スタイル設定をたどる

toolbar/style_settings.tsx を読み、スタイルパネルの構成を確認します。

  • emptySizeRatioOptions がある場合 → 外観アコーディオンとタイトルとテキストアコーディオンを表示します
  • ない場合 → PartitionTitlesAndTextSettings のみを直接表示します(サブヘッダーなし)

次に toolbar/titles_and_text_settings.tsx を読みます。

  • categoryOptions は最初のボタングループとして表示されます(ラベル:i18n キー xpack.lens.pieChart.labelSliceLabels を確認)
  • numberOptions は2つ目のボタングループとして表示されます(ラベル:i18n キー xpack.lens.pieChart.sliceValues を確認)
  • numberDisplay === 'percent' の場合、小数点以下の桁数入力欄が表示されます

categoryOptions が空の場合、最初のボタングループは非表示になります。numberOptions が空の場合、2つ目のボタングループは非表示になります。isDisabled が true の場合、セクション全体が無効化または非表示になります。

ステップ 3:レジェンド設定をたどる

toolbar/legend_settings.tsx(パーティション用ラッパー)を読み、共有 LegendSettings コンポーネントに渡される props を確認します。確認する主な props は次のとおりです。

Prop制御する内容確認方法
legendOptions表示オプション(自動/表示/非表示)すべてのパーティション型グラフに必ずあります
positionlocation も渡された場合のみ表示パーティション型グラフでは location を渡さないため、位置は非表示です
renderNestedLegendSwitchネストのトグル!hideNestedLegendSwitch && groups > 1
allowedLegendStats統計情報/値を表示グラフのメタデータに defaultLegendStats が定義されている場合のみ
legendSize / onLegendSizeChange幅のドロップダウンisVerticalLegend が true の場合に表示
shouldTruncate / onTruncateLegendChangeラベルの省略表示トグルレジェンドが非表示でない場合は常に表示
showAutoLegendSizeOptionサイズのドロップダウンにある自動オプション8.3 より前のビジュアライゼーションのみ
ステップ 4:レンダリング順序を確認する

共有の legend_settings.tsx の JSX を上から順に確認します。パーティションチャート(location プロパティなし)の実際のレンダリング順序は次のとおりです。

  1. 表示(常に表示)
  2. 幅(凡例が非表示でない場合。LegendSizeSettings を使用)
  3. ラベルの切り詰め + 行数制限(凡例が非表示でない場合)
  4. ネスト(凡例が非表示でなく、複数のグループがあり、hideNestedLegendSwitch が false の場合)

パーティションチャートでレンダリングされない設定:

  • 位置 — location プロパティが必要です(XY チャートのみがこのプロパティを渡します)
  • 統計 — allowedLegendStats.length > 1 が必要です
  • 値を表示 — Value/CurrentAndLastValue 型の許可された凡例統計がちょうど 1 つ必要です
ステップ 5:オプションのラベルを確認する

各ボタングループまたはドロップダウンについて、オプション配列の label または inputDisplay を確認します。よくある注意点は次のとおりです。

想定しがちなラベル実際の UI ラベルソース
「ラベル」「スライスラベル」xpack.lens.pieChart.labelSliceLabels
「値」「スライス値」xpack.lens.pieChart.sliceValues
「凡例サイズ」「幅」xpack.lens.shared.legendSizeSetting.label
「切り詰め」「ラベルの切り詰め」xpack.lens.shared.labelTruncation
「最大行数」「行数制限」xpack.lens.shared.maxLinesLabel
「表示」(凡例)「表示」xpack.lens.pieChart.legendVisibility.show

クイックリファレンス:チャートごとの違い

機能円/ドーナツツリーマップモザイクワッフル
スライスラベル非表示/内側/自動非表示/表示(なし)(なし)
スライス値非表示/整数/パーセンテージ非表示/整数/パーセンテージ非表示/整数/パーセンテージ(なし)
ドーナツの穴ありなしなしなし
スタイルパネルが無効いいえいいえいいえはい
凡例の位置なしなしなしなし
凡例の幅ありありありあり
ネストされた凡例あり(グループが 1 つ超)あり(グループが 1 つ超)あり(グループが 1 つ超)なし
値を表示なしなしなしあり
統計なしなしなしなし
凡例のデフォルト表示バケットが 1 つ超の場合に自動表示自動非表示自動非表示常に自動表示
Group by の最大ディメンション数3221
色のマッピング最初の Group by のみ最初の Group by のみ縦軸Group by

よくある間違い

  1. パーティションチャートに「位置」があると思い込む — ありません。「位置」があるのは XY タイプのチャートのみです。
  2. 「幅」ではなく「凡例サイズ」を使う — 実際のラベルは「幅」です。
  3. 「幅」のオプションに「自動」を含める — 「自動」が表示されるのは、8.3 より前のビジュアライゼーションのみです。
  4. ワッフル以外のチャートに「統計」を記載する — defaultLegendStats があるのはワッフルのみです。
  5. すべてのチャートに「タイトルとテキスト」のサブヘッダーがあると思い込む — emptySizeRatioOptions が定義されている場合(円/ドーナツ)にのみ表示されます。
  6. ネストされた凡例の条件を誤解する — hideNestedLegendSwitch !== true かつ、Group by のディメンションが複数あることが必要です。
  7. すべての Group by レベルで色のマッピングが機能すると思い込む — 最初のディメンションでのみ使用できます。

コメント