Master 1Password: vaults, Watchtower, passkeys, SSH agent, CLI, and family/team administration. Use when getting full value from 1Password personally or administering it for others.
中文简介正在准备中。当前显示原文说明。
Build charts with Chart.js: configuration, plugins, custom tooltips, real-time updates, and dashboard patterns. Use for standard charts in web apps.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
A practical guide to Chart.js: the batteries-included charting library — configuration, scales, plugins, custom tooltips, real-time streaming data, and the dashboard patterns that keep charts fast and readable.
Chart.js renders common chart types (line, bar, pie/doughnut, radar, scatter, bubble) on canvas with sensible defaults, animations, and interactivity out of the box. It's the right choice when the design is a standard chart done well — reach for D3 when the design is custom. v3+ is tree-shakeable (register only what you use) and ESM-friendly.
import { Chart, LineController, LineElement, PointElement, LinearScale, CategoryScale, Tooltip, Legend } from 'chart.js'; Chart.register(...) — tree-shaking requires explicit registration; the chart.js/auto bundle registers everything (simpler, bigger).{ type: 'line', data: { labels, datasets: [{ label, data, borderColor, ... }] }, options: { responsive, plugins, scales } }.x/y: linear, logarithmic, time (needs date adapter), category. stacked: true for stacked bars; beginAtZero for bars.{ id, beforeDraw, afterDatasetsDraw, ... } hooks — for watermarks, annotations, custom overlays.options.plugins.tooltip.callbacks customize label/title/footer; external for fully custom HTML tooltips (better styling control).chart.data.datasets[0].data.push(x); chart.update('none') — mutate + update, don't recreate the chart. 'none'/'active' modes control animation on update.parsing: false + decimation plugin for large datasets (10k+ points) — renders a representative subset.1. Setup (tree-shaken).
import { Chart, LineController, LineElement, PointElement, LinearScale, TimeScale, Tooltip, Legend, Filler } from 'chart.js';
import 'chartjs-adapter-date-fns';
Chart.register(LineController, LineElement, PointElement, LinearScale, TimeScale, Tooltip, Legend, Filler);
2. Time-series line chart.
new Chart(ctx, {
type: 'line',
data: { datasets: [{ label: 'Signups', data: [{ x: '2026-01-01', y: 42 }, ...],
borderColor: '#2563eb', backgroundColor: 'rgba(37,99,235,0.1)', fill: true, tension: 0.3, pointRadius: 0 }] },
options: {
responsive: true, maintainAspectRatio: false,
interaction: { mode: 'index', intersect: false },
plugins: { legend: { display: false }, tooltip: { callbacks: { label: c => `${c.parsed.y} signups` } } },
scales: { x: { type: 'time', time: { unit: 'day' } }, y: { beginAtZero: true } },
},
});
3. Real-time streaming.
// push new points, shift old ones, update without animation
chart.data.datasets[0].data.push({ x: Date.now(), y: value });
if (chart.data.datasets[0].data.length > 120) chart.data.datasets[0].data.shift();
chart.update('none');
4. Custom HTML tooltip (external). Render a div positioned from context.tooltip.caretX/caretY — full CSS control, accessible markup.
5. Dashboard discipline. One chart instance per canvas; chart.destroy() on unmount (React useEffect cleanup); shared color palette; consistent number formatting.
new Chart per update leaks canvases and restarts animations. Mutate data + chart.update().chart.destroy() leaks memory and event listeners. Cleanup in effect returns.Chart.register. Register everything you use.type: 'time' needs chartjs-adapter-date-fns (or luxon/moment). Without it, cryptic errors.update('none') for real-time.Chart.defaults.font, limit ticks (maxTicksLimit), use a deliberate palette.position: relative; height: 300px), not fixed canvas attributes.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Master 1Password: vaults, Watchtower, passkeys, SSH agent, CLI, and family/team administration. Use when getting full value from 1Password personally or administering it for others.
中文简介正在准备中。当前显示原文说明。
Create 3D visuals with modeling, texturing, lighting, rendering, and optimization for web and product.
中文简介正在准备中。当前显示原文说明。
Create 3D web experiences: scene setup, models, materials, lighting, animation, scroll-driven scenes, and performance budgets. Use when adding 3D to websites beyond basic demos.
中文简介正在准备中。当前显示原文说明。
Writing abstracts that get papers read — structured content, the 5-sentence core, and journal-specific constraints.
中文简介正在准备中。当前显示原文说明。
Learn effectively from courses and academies: choosing programs, studying actively, and converting courses into skills. Use when investing time/money in structured learning.
中文简介正在准备中。当前显示原文说明。
Audit designs for accessibility with WCAG checklists covering color, type, focus, motion, and content.
中文简介正在准备中。当前显示原文说明。