注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Quiverでは、VegaまたはVega-Liteライブラリを使用して、完全にカスタマイズ可能でインタラクティブなビジュアライゼーションを作成できます。インスピレーションや例については、Vega ↗ および Vega-Lite ↗ のドキュメントを参照してください。
VegaおよびVega-Liteは、ビジュアライゼーションの外観と動作を記述する簡潔なJSON仕様の形式で、インタラクティブなビジュアライゼーションデザインを作成、保存、および共有できます。Vegaはさまざまなビジュアライゼーションデザインをサポートしています。たとえば:
Vega-Liteは、Vegaの上に構築された高レベルの言語で、一般的なビジュアライゼーションをより簡潔かつ便利に作成できます。Vega-Liteの構文はVegaよりも読みやすく、書きやすく、デバッグしやすいため、Vega-Liteから始めることをお勧めします。Vega-Liteのオプションが不十分な場合は、代わりにVegaを使用してください。
以下の画像では、VegaおよびVega-Liteで作成されたいくつかの例を見ることができます。
Vegaプロットを設定するには、目的のカードにカーソルを合わせ、Visualizeを選択し、ドロップダウンメニューでVega plotをナビゲートするか検索します。Vega plotを選択して設定メニューを開きます。
エディターメニュー内で、VegaプロットまたはVega-Liteプロットのいずれかを設定することを選択します。一般的なビジュアライゼーションのテンプレート(バブルプロット、ボックスプロット、サンバーストプロットなど)は、以下の図に示すようにChoose a templateドロップダウンメニューに提供されています。
Vegaプロットテンプレートを選択すると、選択したプロットに関連するパラメーターを、トランスフォームテーブルデータソースの列にマッピングして入力するように求められます。
テンプレートのパラメーターを入力した後、Applyを選択してVegaプロットを生成します。次の点に注意してください:
Vegaプロットは次のデータ入力を受け入れます:
ARRAY_VALUES
という名前の 1 列を持つトランスフォームテーブルとして解析されます。データセクションでは、次の形式でグローバルID(たとえば$A
)によってトランスフォームテーブルまたは配列の形式で表形式データをリファレンスできます。
Copied!1 2 3 4 5
{ "data": { "values": $A } // "values"キーの値として変数$Aを指定しています ... }
たとえば、テーブル $A
が name
と id
の2つの列を持つテーブルの場合、データは次のようなスペックに解決されます:
Copied!1 2 3 4 5 6 7 8 9
{ "data": { "values": [ { "name": "a", "id": 1}, // 名前が 'a' で ID が 1 { "name": "b", "id": 2}, // 名前が 'b' で ID が 2 { "name": "c", "id": 3} // 名前が 'c' で ID が 3 ] } }
トランスフォームテーブル内の特定の列をリファレンスするには、`$A.column_name`という構文を使用します。この表現は、列のIDを文字列として解決します。
```json
{
"encoding": {
"x": {
"field": $A.column_x, // $A.column_x を x 軸のフィールドとして指定
"type": "quantitative", // データのタイプを「量的(quantitative)」として指定
}
}
...
}
数値メトリクスカードなどのValue TypesをVegaプロットでリファレンスすることもできます。たとえば、特定の値に閾値線を設定するには、メトリクスカードのグローバルIDを使用してその値をリファレンスします。
"encoding": {
// "y": Y軸の値を指定します。"$C"は定数Cを指す。
"y": { "datum": $C }
}
...
Vegaプロットの設定に関する問題をデバッグするには、解決されたVega仕様を確認します。Previewを選択して解決されたVegaを表示してください。
解決されたVega仕様には参照されたデータ入力のすべてのデータポイントが含まれるため、読み込みが遅くなる場合があります。
Vegaエディターには、Quiverダッシュボードを使用してWorkshopにVegaプロットを埋め込むための2つの便利な設定があります。
AIPは、自然言語で記述されたプロットやプロットの修正についての説明だけで、Vegaプロット設定を生成するのに役立ちます。ユーザーは作成または修正したいプロットを単に説明するだけで、AIPがプロンプトに基づいて提案を行い、エラーが発生しやすいJSON形式のVegaプロット設定を簡素化します。
AIPを使用するには、Vegaプロットカードの右上にあるAIP Configureを選択します。その後、プロンプトを入力し、Configureを選択してAIPが生成した提案を確認してください。提案を受け入れるには、Applyを選択します。別の提案をAIPに依頼する場合は、プロンプトを編集してからReconfigureを選択してください。
以下の例では、ユーザーはAIPに対して「散布図においてpHとカフェインの関係を表示し、x軸に13、y軸に6の位置に赤い線を引く」とプロンプトを入力しています。AIPはこのプロンプトを使用して、関心のある2つの数値プロパティ(カフェインとpHレベル)を含むプロットの設定を提案します。
AIPの提案を受け入れるには、Applyを選択します。これにより、更新されたVega仕様に基づいてVegaプロットがビジュアライゼーションをレンダリングします。
AIPはプロンプト内の抽象的なアイデアを認識し、それを使用してVegaプロットを生成または修正するのに役立ちます。たとえば、AIPは以前に生成されたプロットの特性を参照して、既存のプロットの上に「構築する」ことができます。
以下の画像では、ユーザーはプロンプトを提供しています。「プロット上の2本の線が点を4つの象限に分割しています。各象限を異なる色で塗りつぶしてください。」AIPは、現在のプロット設定に象限の定義や設定が含まれていなくても、垂直および水平線によって定義されたエリアが象限であることを認識しています。
AIPはユーザープロンプトに基づいて正確にプロットを生成し、初期プロットを基にしています。
AIPを使用して生成されたQuiver分析グラフには、Vegaプロットを含めることができます。AIPにネイティブなQuiverビジュアライゼーション(線グラフや散布図など)ではなくVegaプロットを生成するよう指示するには、プロンプトで明示的に「Vegaプロット」を返すように指定します。たとえば、正確なプロンプトは次のようになります。「Vegaプロットを使用して散布図にカフェインとpHを表示してください。」
注意: AIPの機能の利用可能性は変更される場合があり、顧客によって異なる場合があります。
Vega-Liteの選択は、インタラクティブなビジュアライゼーションを構築するための強力でカスタマイズ可能な機能です。Vega-Liteライブラリには、選択 ↗の組み込みサポートがあり、QuiverのVega-Liteプロットは選択結果をトランスフォームテーブルとして出力するように設定できます。ユーザーは選択データを利用して、下流のカードをパラメーター化したり、ドリルダウンワークフローを構築したり、分析を続けたりすることができます。Vega-Liteの選択の動作は、オブジェクトセットプロットの選択とは異なり、設定に追加の手順が必要です。
Vega-Liteは、2種類の選択 ↗を通じてチャートと対話できます。
すべてのVega-Liteプロットタイプが選択をサポートしているわけではありません。詳細については、以下のFAQセクションを参照してください。
プロット選択データをトランスフォームテーブルとして出力するには、次の手順を実行します。
Vegaプロットカードの設定パネルを開き、Selection Optionsまでスクロールします。次に、Enable output point selections as transform tableおよび/またはEnable output interval selections as transform tableをオンにします。
VegaプロットのJSONエディターで、params
フィールドに選択パラメーターを追加します。選択パラメーターに関する詳細は、Vegaプロットドキュメントを参照してください。
パラメーターは、ポイント選択の場合はquiverDefaultClick
、インターバル選択の場合はquiverDefaultBrush
と名付ける必要があります。
type
プロパティをquiverDefaultClick
の場合はpoint
、quiverDefaultBrush
の場合はinterval
に設定します。
encodings
プロパティに1つ以上のエンコーディング ↗を指定します。これらは、x
、y
、color
など、選択したいフィールドです。エンコーディングは、どのように値が選択され、どの情報が出力されるかを決定します。
選択が行われると、選択データを含むカードフッターが表示されます。Output Selectionを選択して、選択データをトランスフォームテーブルとして出力します。あるいは、Vegaプロットの次のアクションメニューを使用してConvert > New Transform Tableを選択します。
オブジェクトセットプロットとは異なり、選択が入力データをフィルター処理するドリルダウン操作である場合、Vegaプロットは現在の選択に基づいて入力データを自動的にフィルター処理することはできません。代わりに、Vegaプロットは与えられたエンコーディングの選択された値を出力し、これらの出力を使用して入力テーブルにフィルターを手動で構築することができます。詳細については、ドリルダウンワークフローの構築に関するセクションを参照してください。
一般的なビジュアライゼーション(バブルプロットやヒートグリッドなど)における選択セットアップの追加例については、提供されたVegaプロットテンプレートを参照してください。これらのテンプレートは、設定エディターのChoose a templateドロップダウンメニューの下にあります。
...
"params": [
{
"name": "quiverDefaultClick", // ポイント選択のパラメータを定義
"select": {
"type": "point",
"encodings": ["x"] // "x" の値が同じすべてのポイントを選択
}
}
],
"encodings": [
"x": ...
"y": ...
"color": {
"condition": [
{
"param": "quiverDefaultClick",
"empty": false,
"value": "orange" // 選択されたポイントを条件付きでオレンジ色にする
}
]
},
]
...
"params": [
{
"name": "quiverDefaultClick",
"select": {
"type": "point",
"encodings": ["color"] // "color" エンコーディングが同じすべてのデータを選択
}
}
]
...
"params": [
{
"name": "quiverDefaultBrush",
"select": {
"type": "interval",
"encodings": ["y"] // y軸に間隔選択を制限する
}
}
]
Vega-Lite プロットからの選択データを使用してドリルダウンワークフローを構築できます。チャートの選択がフィルター処理する役割を果たし、上流の選択に基づいてデータのサブセットに対して分析を続けることができます。以下の手順では、ドリルダウンワークフローの構築方法を説明します。
すべての Vega-Lite プロットタイプが選択をサポートしているわけではありません。Vega のドキュメントにはサポートされているプロットタイプの完全なリストはありませんが、以下は非網羅的なリストです:
各プロットは 1 つのポイント選択パラメーターと 1 つのインターバル選択パラメーターに制限されており、それらが Quiver にデータを出力します。これは Quiver による制限です。Vega はユニークな名前を持つ複数のパラメーターの定義を許可しますが、quiverDefaultClick
と quiverDefaultBrush
と名付けられたものだけが Quiver トランスフォームテーブルとして出力されます。
その軸の値が Vega の仕様内で集計されているかどうかを確認してください。Vega は Vega によって集計されたフィールドに対する選択をサポートしていません。たとえば、以下のスニペットのように y
エンコーディングフィールドにインライン集計が含まれている場合、ユーザーは y 軸のサブセットを選択できません。
"encodings": {
"y": {
"field": $C.field_y, // Y軸のフィールド
"aggregate": "avg" // 平均値を集計
},
...
}
y軸で選択を有効にするには、最初にQuiverでデータを集計します(たとえば、ピボットテーブルを使用)。その後、データをVegaに渡します。
Invalid data selection
エラーが発生するのはなぜですか?以下を確認してください:
encodings
フィールドがあることを確認します。各パラメーターは、選択情報を出力するために1つ以上のエンコーディングを指定する必要があります。color
や shape
などの非軸エンコーディングフィールドに対するインターバル選択をサポートしていません。これらをエンコーディング配列から削除することでエラーが解決するはずです。Vega-Lite ↗ ドキュメントや Vega editor ↗ は、Vegaのスペックをテストおよびデバッグするための有用なツールです。ただし、Palantirプラットフォーム外ではデータのセキュリティを保証できないため、これらのエディターツールに機密情報を入力 しないでください。