SVG Art: Programmatic Generation
Generate high-quality SVG graphics using Python scripts. All scripts output valid SVG to stdout (or file with -o).
Available Scripts Script Purpose Key Options generate_grid.py Grid patterns --cols, --rows, --shape, --vary-* generate_radial.py Radial/spiral/sunburst --spiral, --concentric, --sunburst generate_fractal.py Fractals (tree, koch, sierpinski) --tree, --koch, --sierpinski, --depth generate_wave.py Waves and audio viz --layers, --noise, --bars generate_particles.py Scatter/cluster/constellation --cluster, --gradient, --constellation generate_chart.py Data visualization --bar, --line, --pie, --donut generate_icon.py Common UI icons --icon NAME, --list, --filled optimize_svg.py Minify/optimize SVG --aggressive, --stats Quick Examples
Grid with size variation
python scripts/generate_grid.py -c 6 -r 6 --vary-size --vary-opacity -o grid.svg
Spiral pattern
python scripts/generate_radial.py --spiral -n 60 --turns 4 -o spiral.svg
Fractal tree
python scripts/generate_fractal.py --tree --depth 8 --vary-angle -o tree.svg
Layered waves with fill
python scripts/generate_wave.py --layers 5 --fill -o waves.svg
Constellation network
python scripts/generate_particles.py --constellation -n 30 --connect-distance 25 -o network.svg
Bar chart
python scripts/generate_chart.py --bar --data "30,50,80,45,90" --labels "A,B,C,D,E" -o chart.svg
Heart icon
python scripts/generate_icon.py --icon heart --filled --stroke "#E11D48" -o heart.svg
Optimize existing SVG
python scripts/optimize_svg.py input.svg --aggressive -o output.svg
Script Usage Patterns Grid Patterns python scripts/generate_grid.py \ -c 8 -r 8 # columns and rows -s 10 -g 2 # size and gap --shape circle # rect, circle, or diamond --vary-size # random size variation --vary-opacity # random opacity --vary-hue # color variation --seed 42 # reproducible randomness
Radial Patterns
Concentric rings
python scripts/generate_radial.py --concentric --rings 5 --vary-hue
Sunburst rays
python scripts/generate_radial.py --sunburst -n 24 --vary-length
Fractals
Koch snowflake
python scripts/generate_fractal.py --koch --depth 4 --fill "#3B82F6"
Sierpinski triangle
python scripts/generate_fractal.py --sierpinski --depth 5
Charts
Line chart with points
python scripts/generate_chart.py --line --data "10,30,20,50" --show-points --smooth
Donut chart
python scripts/generate_chart.py --donut --data "40,30,20,10" --labels "A,B,C,D"
Icons
List all available icons
python scripts/generate_icon.py --list
Common icons: check, x, plus, menu, search, home, user, settings,
mail, heart, star, play, file, download, edit, share, sun, moon, etc.
Common Options (All Scripts) --fill COLOR: Fill color (default: #3B82F6) --stroke COLOR: Stroke color --stroke-width N: Stroke width --seed N: Random seed for reproducibility -o FILE: Output to file instead of stdout Piping and Composition
Scripts can be piped together:
Generate and optimize
python scripts/generate_grid.py -c 10 -r 10 | python scripts/optimize_svg.py --aggressive
Check optimization stats
python scripts/generate_fractal.py --tree --depth 10 | python scripts/optimize_svg.py --stats
SVG Fundamentals Reference
See references/svg-fundamentals.md for:
Core SVG structure and viewBox Element types (rect, circle, path, etc.) Path command syntax Gradients and patterns Accessibility requirements