Skip to content
GRAPHIC WALKER
ガイド
テーマと外観

テーマと外観

Graphic Walkerは、ダークモード、チャートレンダリングテーマ、完全なUIカラーカスタマイズなど、複数レベルのビジュアルカスタマイズを提供しています。

ダークモード

appearanceプロパティでダークモードを制御します:

// Follow user's OS preference (default)
<GraphicWalker appearance="media" />
 
// Always light
<GraphicWalker appearance="light" />
 
// Always dark
<GraphicWalker appearance="dark" />

チャートテーマ

vizThemeConfigプロパティはチャートのレンダリング方法を制御します。組み込みテーマを選択するか、カスタムVega設定オブジェクトを提供できます:

組み込みテーマ

テーマ説明
'vega'デフォルトのVega-Liteテーマ
'g2'G2 (AntV) インスパイアのテーマ
'streamlit'Streamlitインスパイアのテーマ
<GraphicWalker vizThemeConfig="streamlit" data={data} fields={fields} />

カスタムVega設定

チャートレンダリングの詳細な制御のために、完全なVega/Vega-Lite設定オブジェクトを渡します:

const customTheme = {
  arc: { fill: '#4c78a8' },
  area: { fill: '#4c78a8' },
  bar: { fill: '#4c78a8' },
  line: { stroke: '#4c78a8' },
  point: { fill: '#4c78a8' },
  axis: {
    domainColor: '#888888',
    gridColor: '#e0e0e0',
    tickColor: '#888888',
  },
};
 
<GraphicWalker vizThemeConfig={customTheme} data={data} fields={fields} />

カスタムUIカラー

uiThemeプロパティを使用して、チャートテーマとは別にUI要素(ボタン、パネル、テキスト)をカスタマイズできます。ライトモードとダークモードの両方のカラーセットを持つIUIThemeConfigを受け付けます:

const uiTheme = {
  light: {
    background: '#ffffff',
    foreground: '#1a1a1a',
    primary: '#6366f1',
    'primary-foreground': '#ffffff',
    muted: '#f1f5f9',
    'muted-foreground': '#64748b',
    border: '#e2e8f0',
    ring: '#6366f1',
  },
  dark: {
    background: '#0f172a',
    foreground: '#f8fafc',
    primary: '#818cf8',
    'primary-foreground': '#0f172a',
    muted: '#1e293b',
    'muted-foreground': '#94a3b8',
    border: '#334155',
    ring: '#818cf8',
  },
};
 
<GraphicWalker uiTheme={uiTheme} data={data} fields={fields} />

カラーセットのプロパティ

プロパティ必須説明
backgroundはいページ/コンポーネントの背景色
foregroundはいプライマリテキスト色
primaryはいプライマリアクション色(ボタン、リンク)
primary-foregroundはいプライマリ色の要素上のテキスト
mutedはいミュートされた背景(選択項目、セパレーター)
muted-foregroundはい説明/セカンダリテキスト色
borderはいコンテナのボーダー色
ringはいフォーカスリング色
cardいいえカードの背景(デフォルトはbackground
card-foregroundいいえカードのテキスト色(デフォルトはforeground
popoverいいえポップオーバーの背景(デフォルトはbackground
popover-foregroundいいえポップオーバーのテキスト色(デフォルトはforeground
secondaryいいえセカンダリボタンの背景(デフォルトはmuted
secondary-foregroundいいえセカンダリボタンのテキスト(デフォルトはprimary
accentいいえホバー状態の背景(デフォルトはmuted
accent-foregroundいいえホバー状態のテキスト(デフォルトはprimary
destructiveいいえ危険/削除アクション色
destructive-foregroundいいえ危険な要素上のテキスト
dimensionいいえディメンションフィールドバッジの色
measureいいえメジャーフィールドバッジの色
inputいいえ入力ボーダー色(デフォルトはborder

カラーパレット

IVisualLayoutcolorPaletteプロパティでチャートエンコーディングに使用するカラーパレットを制御するか、scalesプロパティでチャネルごとに制御します。

カテゴリパレット

名義データ用: accentcategory10category20category20bcategory20cdark2pairedpastel1pastel2set1set2set3tableau10tableau20

シーケンシャル単色

増加する定量的な値用: bluestealbluestealsgreensbrownsorangesredspurpleswarmgreysgreys

シーケンシャル多色

ヒートマップの定量データ用: viridismagmainfernoplasmacividisturbobluegreenbluepurplegoldgreengoldorangegoldredgreenblueorangeredpurplebluegreenpurplebluepurpleredredpurpleyellowgreenblueyellowgreenyelloworangebrownyelloworangereddarkbluedarkgolddarkgreendarkmultidarkredlightgreyredlightgreyteallightmultilightorangelighttealblue

ダイバージング

意味のある中間点を持つデータ用: blueorangebrownbluegreenpurplegreenpinkyellowgreenpurpleorangeredblueredgreyredyellowblueredyellowgreenspectral

循環

周期的なパターン用: rainbowsinebow

カスタムスケールの例

<GraphicWalker
  data={data}
  fields={fields}
  scales={{
    color: {
      scheme: 'tableau10',
    },
    size: {
      rangeMin: 10,
      rangeMax: 100,
    },
  }}
/>

スケールはフィールド情報を受け取る関数にすることもできます:

<GraphicWalker
  data={data}
  fields={fields}
  scales={{
    color: (info) => ({
      scheme: info.semanticType === 'nominal' ? 'tableau10' : 'viridis',
    }),
  }}
/>