Agent skill · Data & Analytics

charts-3d

3D chart visualization with Swift Charts using Chart3D, SurfacePlot, interactive pose control, and surface styling — plus a 2D Swift Charts construction reference (marks, axes, selection, SectorMark, scrollable charts). Use when creating data visualizations with Swift Charts.

rshankrasgithub.com/rshankrasGitHub ↗
claude-coderead-onlyMIT
Install
npx skills add rshankras/claude-code-apple-skills --skill charts-3d --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 21 KB
Bundled scripts: none
Allowed tools: ReadGlobGrep
Path: skills/swiftui/charts-3d/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 589
Language: Swift

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Creates 3D data visualizations using Chart3D and SurfacePlot, including math-driven and data-driven surfaces, interactive camera pose control, surface styling, and multiple surfaces per chart. It also includes a 2D Swift Charts API reference for marks, axes, series styling, and interaction like selection and scrollable charts.

How it works

  • Describes when to use features: 3D charts, Chart3D, SurfacePlot, 3D surface plots, interactive drag-to-rotate via chart3DPose, and styling via foregroundStyle with solid colors, gradients, height-based, or normal-based options.
  • Documents API surface and minimum versions for Chart3D, SurfacePlot, Chart3DPose, Chart3DCameraProjection, and Chart3DSurfaceStyle.
  • Provides SwiftUI code examples showing how to render math-driven and data-driven surfaces, enable interactive rotation with a bound pose, and apply various surface styles.
  • Covers camera projection modes (.perspective, .orthographic, .automatic), multiple surfaces in one chart, and mixing 3D with 2D API concepts.
  • Includes a Quick Start section with complete snippets for interactive rotation, styling patterns (solid, gradient, height-based, normal-based), and an example of a full terrain-like chart with height-based coloring and perspective projection.
  • Explains how to use preset and custom poses, anti-patterns for interactive binding, and how to work with camera projection and multiple plotted surfaces in a single Chart3D.
  • Provides a complete 3D example and notes WWDC-driven design fundamentals for Swift Charts including marks, axes, interactivity (selection), and accessibility considerations in 2D references.

When to use it

  • When you want to visualize 3D data or mathematical surfaces with Swift Charts.
  • When you need interactive 3D rotation and customizable camera perspectives.
  • When you need to style 3D surfaces with colors, gradients, height-based or normal-based shading.
  • When rendering multiple 3D surfaces in a single chart or producing data-driven 3D plots.
  • When you also require the 2D Swift Charts API references for marks, axes, and scrollable charts.

What it can touch

  • Uses APIs and symbols such as Chart3D, SurfacePlot, Chart3DPose, Chart3DCameraProjection, and Chart3DSurfaceStyle.
  • Demonstrates applying foregroundStyle with solid colors, LinearGradient, and height-based or normal-based styling.
  • Shows how to bind a pose state with .chart3DPose($pose) and how to set camera projection with .chart3DCameraProjection(...).
  • Illustrates composing multiple SurfacePlot marks inside a single Chart3D { } block.

Caveats

  • Documents API availability and minimum versions (iOS 26 / macOS 26) for 3D features.
  • Notes interactive patterns and anti-patterns to avoid misbinding interactivity.
  • License is MIT.
From the SKILL.md

# 3D Charts with Swift Charts Create 3D data visualizations using `Chart3D` and `SurfacePlot`. Covers math-driven surfaces, data-driven surfaces, interactive camera pose control, surface styling, and camera projection modes. ## When This Skill Activates Use this skill when the user: - Wants to create a 3D chart or 3D data visualization - Asks about `Chart3D`, `SurfacePlot`, or 3D surface plots - Needs to visualize a mathematical function as a 3D surface - Wants interactive drag-to-rotate on a 3D chart - Asks about 3D chart camera angles, pose, or projection - Needs to style 3D surfaces with gradients or height-based coloring - Wants to render multiple surfaces in a single 3D chart - Asks about data-driven 3D plots from an array of points - Needs the 2D Swift Charts API layer: marks, axes, series styling, selection, SectorMark pies/donuts, or scrollable charts ## Decision Tree ``` What 3D chart feature do you need? | +-- Visualize a math function f(x, y) -> z | +-- Use SurfacePlot(x:y:z:function:) | +-- Visualize data points as a surface | +-- Use Chart3D(data) { point in SurfacePlot(...) } | +-- Interactive drag-to-rotate | +-- Bind pose: .chart3DPose($pose) with @State var pose: C

What's inside
Steps it walks through
  1. When This Skill Activates
  2. Decision Tree
  3. API Availability
  4. Quick Start
  5. Math-Driven Surface
  6. Data-Driven Surface
  7. Interactive Rotation
  8. Surface Styling Patterns
  9. Solid Color
  10. Linear Gradient
  11. Height-Based Surface Style
  12. Normal-Based Surface Style
  13. Surface Roughness
  14. Interactive Pose Control
More from claude-code-apple-skills
All skills →
About this skill
What does the charts-3d skill do?

3D chart visualization with Swift Charts using Chart3D, SurfacePlot, interactive pose control, and surface styling — plus a 2D Swift Charts construction reference (marks, axes, selection, SectorMark, scrollable charts). Use when creating data visualizations with Swift Charts.

How do I install it?

Run `npx skills add rshankras/claude-code-apple-skills --skill charts-3d --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From rshankras/claude-code-apple-skills, a repository with 589 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going