Particle Charts Live Demo
CSSScript Demo Page

Particle Charts JavaScript Library Demos

Download Back To CSSScript.Com

Shape plain JSON into bars, lines, areas, bubbles, radar, pies, and donuts — then tune the particle field in real time.

07chart forms
01canvas engine
particle states
Signal / 12 months

Revenue pulse

area
Hover the field to inspect a point loading particles in frame
02 / Playground

Tune the field.

Change a type, move a slider, or hide a layer. The preview and the configuration update together.

Chart type

Particle field

Chart chrome

Live configuration

Bar / grouped comparison

settling
current options

            
03 / Methods

Make the particles move.

A small method loop for the moments that matter: update the data, retune the look, or take the frame with you.

Method loop

Campaign momentum

area

Ready for a data change.

public methods

        
04 / Snippets

Copy the useful parts.

Short examples for a plain HTML page, multi-series data, and the options used by the live lab.

01 / CDN

        
02 / Browser chart

        
03 / Multi-series

        
04 / Live update

        
More data shapes and module syntax
05 / Module import

          
06 / Bubble data

          
05 / API sheet

The controls behind the canvas.

The compact reference keeps the page useful while the playground stays focused on interaction.

OptionBehavior
Core
type'line', 'area', 'bar', 'bubble', 'radar', 'pie', or 'donut'.
dataNumbers, { label, value } records, { labels, values }, or { labels, series }.
backgroundCanvas fill painted behind the particles. Transparent by default.
paddingA number, [y, x], or { top, right, bottom, left }. Auto-measured by default.
responsiveRe-layout the chart when its container changes size.
Particles
particleColorOne color, an array of colors, or a function receiving the particle index and series.
particleSizeBase particle radius in CSS pixels. Default: 0.8.
particleDensityMultiplier for the auto-computed particle budget. Default: 15.
particleCountHard ceiling for the particle budget. Default: 50000.
particleBloomAdditive glow strength from 0 to 1.
particleOpacityGlobal particle alpha, kept below 1 to preserve color under stacking.
particleJitterIdle drift amplitude in pixels. Set to 0 for a static field.
particleSpeedSpring stiffness pulling each particle toward its target.
particleShape'soft' particles are circles with a readable halo; 'square' forces rectangles.
Chrome
showAxis / showGridToggle axes, tick labels, and grid lines.
showLegendRender the series or category legend. Legend entries are keyboard-toggleable.
showTooltipShow a hover tooltip and crosshair.
showValuesPrint values next to marks or slices.
legendPosition'top', 'bottom', 'left', or 'right'.
min / maxPin the value domain instead of deriving it from the data.
ticksApproximate tick count. Nice-number rounding selects the final set.
valueFormatFunction returning the text used by ticks, labels, and tooltips.
Chart-specific
curve / fillAreaLine interpolation can be 'smooth', 'linear', or 'step'. Area charts enable fill.
stacked / horizontalBar layout switches for stacked or horizontal marks.
minRadius / maxRadiusBubble radius range. Values map by area, not by diameter.
levels / webShapeRadar ring count and web style: 'polygon' or 'circle'.
innerRadiusDonut hole as a fraction of the outer radius. Default donut: 0.62.
startAngle / padAngleRadial start angle in degrees and the gap between slices.
Methods
chart.update(data, opts)Swap the data and let the particles morph to the new shape.
chart.setOptions(opts)Change the look without replacing the data.
chart.resize()Force a layout pass.
chart.start() / stop()Resume or pause the render loop.
chart.toggleSeries(key)Mute or restore a series, the same action used by the legend.
chart.toDataURL()Return a PNG snapshot of the current frame.
chart.destroy()Stop the loop, drop listeners, and remove chart-owned DOM.