Chart Designer

作者 claude-office-skills9c4c7d5cd281MIT499 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫8 個月前更新

Design effective data visualizations and charts. Generate chart configurations for ECharts, Chart.js, and other libraries. Create dashboards and reports.

僅含說明Data & Analytics
AI 產生的概覽

推薦圖表類型,並產生 ECharts、Chart.js 與 Excel 圖表設定及樣式建議。

功能
此技能提供資料視覺化設計建議:透過選擇表與決策樹,將所描述的資料與表達目的對應到合適的圖表類型。接著輸出可直接使用的 ECharts 與 Chart.js 設定片段、Excel 圖表設定說明、配色方案、字體與版面建議,以及最佳實務與替代方案說明。它本身不會繪製圖表,也不會直接存取資料。
適用情境
當你需要為某組資料挑選合適的圖表,或需要為儀表板、報告、簡報產生圖表設定程式碼時使用。它也適合配色方案、樣式與視覺化最佳實務的諮詢,或 Excel 圖表規格說明。
執行需求
僅為說明性內容,未附帶指令碼。文中提到 office-mcp 伺服器及其 create_chart、read_xlsx、create_xlsx 工具,但此技能本身只產出文字建議與設定片段,因此嚴格來說不需要執行環境、套件或憑證。

Chart Designer Skill

Overview

I help you design effective data visualizations by recommending the right chart types, generating configurations for popular charting libraries, and applying data visualization best practices.

What I can do:

  • Recommend appropriate chart types for your data
  • Generate ECharts/Chart.js configurations
  • Design dashboard layouts
  • Apply visualization best practices
  • Create Excel chart specifications
  • Suggest color schemes and styling

What I cannot do:

  • Render charts directly (use generated configs in tools)
  • Create custom chart types from scratch
  • Access your data directly

How to Use Me

Step 1: Describe Your Data

Tell me:

  • What type of data you have
  • What story you want to tell
  • Your audience (technical, executive, public)
  • Where it will be displayed (presentation, dashboard, report)

Step 2: Get Recommendations

I'll suggest:

  • Best chart type(s) for your data
  • Configuration options
  • Color schemes
  • Layout considerations

Step 3: Receive Chart Configs

I'll provide:

  • ECharts JSON configuration
  • Chart.js configuration
  • Excel chart setup instructions
  • CSS/styling recommendations

Chart Selection Guide

Comparison Charts

Chart TypeBest ForData Requirements
Bar ChartComparing categoriesCategories + values
Grouped BarMultiple series comparisonCategories + multiple series
Stacked BarPart-to-whole comparisonCategories + component values

Trend Charts

Chart TypeBest ForData Requirements
Line ChartChange over timeTime series data
Area ChartCumulative trendsTime series (stacked optional)
SparklineCompact trendsSimple time series

Distribution Charts

Chart TypeBest ForData Requirements
HistogramValue distributionNumeric values
Box PlotDistribution summaryNumeric values with quartiles
Scatter PlotCorrelationTwo numeric variables

Part-to-Whole Charts

Chart TypeBest ForData Requirements
Pie ChartSimple proportions (≤5 items)Categories + percentages
Donut ChartProportions with totalCategories + percentages
TreemapHierarchical proportionsHierarchical data + values

Specialized Charts

Chart TypeBest ForData Requirements
FunnelProcess stages/conversionStages + values
GaugeSingle KPI vs targetCurrent value + target
HeatmapMatrix comparisonsRow + Column + Value
RadarMulti-dimensional comparisonMultiple metrics per item
SankeyFlow/transitionsSource + Target + Value

Decision Tree

What do you want to show?│├─ Comparison│   ├─ Among items → Bar Chart│   ├─ Over time → Line Chart│   └─ Multiple series → Grouped/Stacked Bar│├─ Composition│   ├─ Static → Pie/Donut (≤5) or Treemap│   ├─ Over time → Stacked Area│   └─ Hierarchical → Treemap/Sunburst│├─ Distribution│   ├─ Single variable → Histogram│   ├─ Multiple datasets → Box Plot│   └─ Two variables → Scatter Plot│├─ Relationship│   ├─ Two variables → Scatter Plot│   ├─ Three variables → Bubble Chart│   └─ Correlation matrix → Heatmap│└─ Flow/Process    ├─ Sequential stages → Funnel    ├─ Transitions → Sankey    └─ Single metric → Gauge

Output Format

markdown
# Chart Design: [Title]
**Data Type**: [Description]**Purpose**: [What story to tell]**Recommended Chart**: [Chart type]
---
## Chart Configuration
### ECharts
```javascriptconst option = {  title: {    text: 'Chart Title',    left: 'center'  },  tooltip: {    trigger: 'axis'  },  legend: {    data: ['Series 1', 'Series 2'],    bottom: 10  },  xAxis: {    type: 'category',    data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']  },  yAxis: {    type: 'value'  },  series: [    {      name: 'Series 1',      type: 'bar',      data: [120, 200, 150, 80, 70, 110]    },    {      name: 'Series 2',      type: 'line',      data: [100, 180, 160, 90, 80, 100]    }  ]};

Chart.js

javascript
const config = {  type: 'bar',  data: {    labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],    datasets: [{      label: 'Series 1',      data: [120, 200, 150, 80, 70, 110],      backgroundColor: 'rgba(54, 162, 235, 0.8)'    }]  },  options: {    responsive: true,    plugins: {      title: {        display: true,        text: 'Chart Title'      }    }  }};

Styling Recommendations

Color Palette

  • Primary: #5470c6
  • Secondary: #91cc75
  • Accent: #fac858
  • Neutral: #73c0de

Typography

  • Title: 16px, bold
  • Labels: 12px, regular
  • Axis: 11px, light

Best Practices Applied

  1. [Practice 1]
  2. [Practice 2]
  3. [Practice 3]

Alternative Charts

If this doesn't work well, consider:

  1. [Alternative 1] - when [condition]
  2. [Alternative 2] - when [condition]

---
## ECharts Common Configurations
### Bar Chart```javascript{  xAxis: { type: 'category', data: categories },  yAxis: { type: 'value' },  series: [{    type: 'bar',    data: values,    itemStyle: { color: '#5470c6' }  }]}

Line Chart

javascript
{  xAxis: { type: 'category', data: categories },  yAxis: { type: 'value' },  series: [{    type: 'line',    data: values,    smooth: true,    areaStyle: {} // for area chart  }]}

Pie Chart

javascript
{  series: [{    type: 'pie',    radius: ['40%', '70%'], // donut    data: [      { value: 100, name: 'A' },      { value: 200, name: 'B' }    ]  }]}

Scatter Plot

javascript
{  xAxis: { type: 'value' },  yAxis: { type: 'value' },  series: [{    type: 'scatter',    data: [[x1, y1], [x2, y2]],    symbolSize: 10  }]}

Color Palettes

Professional

#5470c6, #91cc75, #fac858, #ee6666, #73c0de, #3ba272, #fc8452, #9a60b4

Cool

#1f77b4, #aec7e8, #17becf, #9edae5, #6baed6, #c6dbef, #08519c, #3182bd

Warm

#ff7f0e, #ffbb78, #d62728, #ff9896, #e377c2, #f7b6d2, #bcbd22, #dbdb8d

Accessible (colorblind-friendly)

#0077BB, #33BBEE, #009988, #EE7733, #CC3311, #EE3377, #BBBBBB

Best Practices

Data Ink Ratio

  • Remove unnecessary gridlines
  • Minimize chart junk
  • Let data be the focus

Clarity

  • Clear, descriptive titles
  • Labeled axes with units
  • Appropriate precision (not too many decimals)

Comparison

  • Start y-axis at zero for bar charts
  • Use consistent scales for comparison
  • Sort data logically

Color

  • Use color purposefully
  • Consider colorblind users
  • Don't use too many colors (≤7)

Interaction

  • Tooltips for details
  • Zoom for dense data
  • Drill-down for hierarchies

Tips for Better Charts

  1. Know your audience - technical vs. executive
  2. Start with the question - what are you trying to answer?
  3. Choose the right chart - don't force data into wrong formats
  4. Simplify - less is more
  5. Label clearly - assume viewers have no context
  6. Test with real users - is the message clear?
  7. Consider accessibility - colors, contrast, alt text

Limitations

  • Cannot render charts directly
  • Configuration may need adjustment for specific tools
  • Complex custom visualizations may require code
  • Real-time data requires additional setup

Built by the Claude Office Skills community. Contributions welcome!

來源與署名

來源:claude-office-skills/skills位於chart-designer提交9c4c7d5

授權條款: MIT

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架