本文へ移動
cccskills
無料GitHub で公開

chart-visualization

Generate charts: select type, extract data, render image.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Chart Visualization

Overview

Transform data into visual charts. Intelligently select the most suitable chart type, extract parameters, and generate a chart image.

Poirot note: The original deer-flow skill uses a bundled scripts/generate.js (Node.js + charting library). Poirot doesn't bundle that script. Use bash with Python (matplotlib/plotly) as the rendering engine instead. Install: pip install matplotlib plotly.

Chart Selection Guide

Data PatternRecommended ChartWhen
Time SeriesLine / AreaTrends over time
ComparisonsBar / ColumnCategorical comparison
DistributionHistogram / BoxplotFrequency distribution
Part-to-WholePie / TreemapProportions
RelationshipsScatterCorrelation
FlowSankeyFlow between stages
Multi-dimensionalRadarCompare across dimensions
ProcessFunnelStage conversion
HierarchyOrg chart / Mind mapTree structure
GeographicMapSpatial data

Workflow

1. Select Chart Type

Analyze the user's data features:

  • Time dimension? → Line/Area
  • Categories? → Bar/Column
  • Proportions? → Pie/Treemap
  • Correlation? → Scatter
  • Flow? → Sankey
  • Multiple dimensions? → Radar

2. Prepare Data

Extract data from user input, format as Python data structure:

data = {
    "labels": ["Jan", "Feb", "Mar", "Apr", "May"],
    "values": [120, 150, 180, 200, 220],
    "title": "Monthly Revenue",
    "xlabel": "Month",
    "ylabel": "Revenue ($K)"
}

3. Generate Chart

python3 -c "
import matplotlib
matplotlib.use('Agg')  # non-interactive backend
import matplotlib.pyplot as plt

labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May']
values = [120, 150, 180, 200, 220]

fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(labels, values, marker='o', linewidth=2, markersize=8)
ax.set_title('Monthly Revenue', fontsize=16, fontweight='bold')
ax.set_xlabel('Month', fontsize=12)
ax.set_ylabel('Revenue ($K)', fontsize=12)
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('.poirot/outputs/chart.png', dpi=150, bbox_inches='tight')
print('Saved to .poirot/outputs/chart.png')
"

Common Chart Types via matplotlib

# Bar chart
python3 -c "
import matplotlib; matplotlib.use('Agg')
import matplotlib.pyplot as plt
cats = ['A', 'B', 'C', 'D']
vals = [23, 45, 12, 67]
plt.bar(cats, vals, color=['#4CAF50', '#2196F3', '#FF9800', '#F44336'])
plt.title('Category Comparison')
plt.savefig('.poirot/outputs/bar.png', dpi=150)
"

# Scatter plot
python3 -c "
import matplotlib; matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(100)
y = x * 0.8 + np.random.randn(100) * 0.5
plt.scatter(x, y, alpha=0.6, c='steelblue')
plt.title('Correlation Scatter')
plt.savefig('.poirot/outputs/scatter.png', dpi=150)
"

# Pie chart
python3 -c "
import matplotlib; matplotlib.use('Agg')
import matplotlib.pyplot as plt
labels = ['Product A', 'Product B', 'Product C']
sizes = [45, 35, 20]
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)
plt.title('Market Share')
plt.savefig('.poirot/outputs/pie.png', dpi=150)
"

Pitfalls

  • matplotlib backend: always use matplotlib.use('Agg') for non-interactive (headless) rendering. Without it, matplotlib may try to open a GUI window.
  • Chinese characters: matplotlib may not render CJK by default. Set font: plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS']
  • DPI: use dpi=150 for crisp images. dpi=300 for print quality.
  • File size: PNG is standard. Use SVG for vector (plt.savefig('chart.svg')).
  • Color palettes: use colorblind-friendly palettes. Avoid red/green only.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Structured peer-review of academic papers.

日本語の概要は準備中です。原文の説明を表示しています。

HezaoHezao/poirot2512026年7月29日 更新

Dark-themed SVG architecture/cloud/infra diagrams as HTML.

日本語の概要は準備中です。原文の説明を表示しています。

HezaoHezao/poirot2512026年7月29日 更新

arxiv

無料

Search arXiv papers by keyword, author, category, or ID.

日本語の概要は準備中です。原文の説明を表示しています。

HezaoHezao/poirot2512026年7月29日 更新

Monitor blogs and RSS/Atom feeds via blogwatcher-cli.

日本語の概要は準備中です。原文の説明を表示しています。

HezaoHezao/poirot2512026年7月29日 更新

bootstrap

無料

Onboarding conversation to generate a user profile.

日本語の概要は準備中です。原文の説明を表示しています。

HezaoHezao/poirot2512026年7月29日 更新

Generate docs: README, API reference, architecture, guides.

日本語の概要は準備中です。原文の説明を表示しています。

HezaoHezao/poirot2512026年7月29日 更新

HezaoHezao のスキルをすべて見る

このスキルの問題を報告する