create-viz について
create-vizは、提供・アップロード・クエリしたデータをPythonで可視化するスキルです。チャートの選択とデザインを支援し、PNGを保存して使用したコードも提示します。
主な機能
- 01貼り付け・アップロード・クエリしたデータに対応
- 02データの関係に基づくチャートの提案
- 03matplotlib、seaborn、plotlyでチャートを生成
- 04明瞭さと正確さを重視したデザイン
- 05PNGの保存とソースコードの提示
活用シーン
- 01レポート用の推移グラフを作成
- 02プレゼン用にカテゴリを比較
- 03分布や相関を調べる
- 04データからインタラクティブなチャートを作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ anthropics/ knowledge-work-plugins --skill create-vizインストール後、Claude Code で/create-vizを入力して読み込まれたか確認します。
詳細
/create-viz - ビジュアライゼーションを作成する
見慣れないプレースホルダーがある場合や、接続されているツールを確認する必要がある場合は、CONNECTORS.md を参照してください。
Python を使用して、出版物の品質に適したデータビジュアライゼーションを作成します。明瞭さ、正確さ、デザインに関するベストプラクティスに基づいて、データからチャートを生成します。
使用方法
/create-viz <data source> [chart type] [additional instructions]
ワークフロー
1. リクエストを理解する
次の点を確認します。
- データソース:クエリ結果、貼り付けられたデータ、CSV/Excel ファイル、またはクエリが必要なデータ
- チャートの種類:明示的に指定されているか、推奨が必要か
- 目的:データの探索、プレゼンテーション、レポート、ダッシュボードのコンポーネント
- 対象者:技術チーム、経営幹部、社外の関係者
2. データを取得する
データウェアハウスが接続されており、データのクエリが必要な場合:
- クエリを記述して実行します
- 結果を pandas DataFrame に読み込みます
データが貼り付けられているか、アップロードされている場合:
- データを pandas DataFrame に解析します
- 必要に応じてデータをクリーニングし、準備します(型変換、null の処理など)
データが会話内の以前の分析から得られた場合:
- 既存のデータを参照します
3. チャートの種類を選択する
ユーザーがチャートの種類を指定していない場合は、データと質問に基づいて推奨します。
| データの関係性 | 推奨するチャート |
|---|---|
| 時間経過による傾向 | 折れ線グラフ |
| カテゴリ間の比較 | 棒グラフ(カテゴリが多い場合は横棒グラフ) |
| 全体に対する各部分の構成 | 積み上げ棒グラフまたは面グラフ(カテゴリが 6 未満の場合を除き、円グラフは避ける) |
| 値の分布 | ヒストグラムまたは箱ひげ図 |
| 2 つの変数間の相関 | 散布図 |
| 2 つの変数の時間経過による比較 | 2 軸の折れ線グラフまたはグループ化された棒グラフ |
| 地理データ | コロプレスマップ |
| 順位 | 横棒グラフ |
| フローまたはプロセス | サンキーダイアグラム |
| 関係性のマトリックス | ヒートマップ |
ユーザーが指定していない場合は、推奨する理由を簡潔に説明します。
4. ビジュアライゼーションを生成する
必要に応じて、次のいずれかのライブラリを使用して Python コードを記述します。
- matplotlib + seaborn:静的で出版物の品質に適したチャートの作成に最適です。デフォルトの選択肢です。
- plotly:インタラクティブなチャートや、ユーザーがインタラクティブな表示を求めている場合に最適です。
コードの要件:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
# Set professional style
plt.style.use('seaborn-v0_8-whitegrid')
sns.set_palette("husl")
# Create figure with appropriate size
fig, ax = plt.subplots(figsize=(10, 6))
# [chart-specific code]
# Always include:
ax.set_title('Clear, Descriptive Title', fontsize=14, fontweight='bold')
ax.set_xlabel('X-Axis Label', fontsize=11)
ax.set_ylabel('Y-Axis Label', fontsize=11)
# Format numbers appropriately
# - Percentages: '45.2%' not '0.452'
# - Currency: '$1.2M' not '1200000'
# - Large numbers: '2.3K' or '1.5M' not '2300' or '1500000'
# Remove chart junk
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tight_layout()
plt.savefig('chart_name.png', dpi=150, bbox_inches='tight')
plt.show()
5. デザインのベストプラクティスを適用する
色:
- 一貫性のある、色覚多様性に配慮したパレットを使用します
- 色は装飾ではなく、意味を伝えるために使用します
- 重要なデータポイントや傾向は、コントラストのある色で強調します
- 重要度の低い参照データはグレー表示にします
タイポグラフィ:
- 指標名だけでなく、洞察を伝える説明的なタイトルを付けます(例:「月別の売上」ではなく「売上が前年比 23% 増加」)
- 読みやすい軸ラベルを使用します(可能であれば 90 度回転させないでください)
- 明瞭さが増す場合は、重要なポイントにデータラベルを付けます
レイアウト:
- 適切な余白とマージンを設けます
- データを隠さない位置に凡例を配置します
- 自然な順序がない場合は、カテゴリを値の順に並べます(アルファベット順ではなく)
正確さ:
- 棒グラフでは Y 軸を 0 から始めます
- 明確な表記なしに、誤解を招く軸の省略を行いません
- パネルを比較する場合は、尺度を統一します
- 適切な精度を使用します(小数点以下 10 桁まで表示しないでください)
6. 保存して提示する
- 説明的な名前を付けて、チャートを PNG ファイルとして保存します
- チャートをユーザーに表示します
- ユーザーが変更できるよう、使用したコードを提示します
- 別のチャートの種類、別のグループ化、期間を拡大した表示などのバリエーションを提案します
例
/create-viz Show monthly revenue for the last 12 months as a line chart with the trend highlighted
/create-viz Here's our NPS data by product: [pastes data]. Create a horizontal bar chart ranking products by score.
/create-viz Query the orders table and create a heatmap of order volume by day-of-week and hour
ヒント
- ホバー、ズーム、フィルターが使えるインタラクティブなチャートが必要な場合は、「interactive」と指定すると Claude は plotly を使用します
- フォントを大きくし、コントラストを高めたい場合は、「presentation」と指定してください
- 複数のチャートを一度にリクエストできます(例:「チャートを 2x2 のグリッドで作成して…」)
- チャートは現在のディレクトリに PNG ファイルとして保存されます
コメント
Markdown 対応