/install chartjs
Chart.js
Chart.js is a popular open-source charting library supporting 8 chart types, rendered via Canvas with responsive design.
Trigger Scenarios
- User requests to create/generate/draw a chart
- User mentions Chart.js or data visualization
- User requests to visualize data with a chart
- User uploads data and requests visualization
Installation
npm:
npm install chart.js
CDN (Script Tag):
\x3Cscript src="https://cdn.jsdelivr.net/npm/chart.js">\x3C/script>
Webpack/Rollup (recommended for tree-shaking):
import Chart from 'chart.js/auto'; // Full features, no manual registration needed
Chart Types and Required Components
Each chart type has minimal dependencies; importing on demand optimizes bundle size:
| Chart Type | Controller | Element | Default Scale |
|---|---|---|---|
| Bar | BarController | BarElement | CategoryScale(x) + LinearScale(y) |
| Line | LineController | LineElement + PointElement | CategoryScale(x) + LinearScale(y) |
| Pie | PieController | ArcElement | — |
| Doughnut | DoughnutController | ArcElement | — |
| PolarArea | PolarAreaController | ArcElement | RadialLinearScale |
| Radar | RadarController | LineElement + PointElement | RadialLinearScale |
| Scatter | ScatterController | PointElement | LinearScale(x/y) |
| Bubble | BubbleController | PointElement | LinearScale(x/y) |
Basic Usage
HTML:
\x3Cdiv style="max-width: 600px">
\x3Ccanvas id="myChart">\x3C/canvas>
\x3C/div>
JavaScript:
const ctx = document.getElementById('myChart');
new Chart(ctx, {
type: 'bar', // Chart type
data: {
labels: ['January', 'February', 'March'],
datasets: [{
label: 'Sales (10k)',
data: [12, 19, 3],
borderWidth: 1
}]
},
options: {
responsive: true,
scales: {
y: { beginAtZero: true }
}
}
});
Common Configurations
Responsive (auto-adapts to container width)
options: {
responsive: true,
maintainAspectRatio: false
}
Fill Line Chart (Area)
datasets: [{
fill: true, // or 'origin'/'start'/'end'
tension: 0.4 // Curve smoothness 0-1
}]
Multiple Datasets
datasets: [
{ label: '2023', data: [1, 2, 3], borderColor: 'red' },
{ label: '2024', data: [3, 2, 1], borderColor: 'blue' }
]
Quick Color Settings
backgroundColor: [
'rgba(255, 99, 132, 0.5)',
'rgba(54, 162, 235, 0.5)',
]
Interaction Events
Click to get data point values (requires helpers import):
import Chart from 'chart.js/auto';
import { getRelativePosition } from 'chart.js/helpers';
options: {
onClick: (e) => {
const pos = getRelativePosition(e, chart);
const x = chart.scales.x.getValueForPixel(pos.x);
const y = chart.scales.y.getValueForPixel(pos.y);
console.log(x, y);
}
}
Time Scale
Requires a date adapter (e.g., chartjs-adapter-moment):
import moment from 'moment';
import 'chartjs-adapter-moment';
// Then configure scales with type: 'time'
Output Methods
After generation, there are two output paths:
- Render directly in an HTML page — Generate a complete HTML file containing canvas + Chart.js CDN, open with a browser
- Screenshot/PDF — Take a screenshot using the browser tool, or generate an image file using puppeteer/canvas
Tip: Generating HTML is the simplest and most reliable output method; let Chart.js handle responsive layout itself.
More References
For detailed API and examples, see references/api.md.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install chartjs - 安装完成后,直接呼叫该 Skill 的名称或使用
/chartjs触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Chartjs 是什么?
Chart.js charting skill. Used to generate visual charts such as line charts, bar charts, pie charts, radar charts, scatter plots, etc. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 110 次。
如何安装 Chartjs?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install chartjs」即可一键安装,无需额外配置。
Chartjs 是免费的吗?
是的,Chartjs 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Chartjs 支持哪些平台?
Chartjs 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Chartjs?
由 OpenLark(@openlark)开发并维护,当前版本 v1.0.0。