Plotnine3d
3D geoms for plotnine (grammar of graphics in Python)
Install / Use
/learn @krassowski/Plotnine3dREADME
plotnine3d
3D geoms for plotnine (grammar of graphics in Python).
Status: experimental. Please leave feedback; pull requests welcome.
Examples
Please refer to the notebook with examples for more details on data preparation.
Surface
(
ggplot_3d(mt_bruno_long)
+ geom_polygon_3d(size=0.01)
+ aes(x='x', y='y', z='height')
+ theme_minimal()
)

Scatter
(
ggplot_3d(mtcars)
+ aes(
x='hp', y='disp', z='mpg',
shape='transmission',
fill='transmission'
)
+ theme_minimal()
+ scale_shape_manual(values={'automatic': 'o', 'manual': '^'})
+ geom_point_3d(stroke=0.25, size=3, color='black')
+ scale_fill_manual(values={'automatic': 'orange', 'manual': 'blue'})
)

Voxels
(
ggplot_3d(voxels_long)
+ aes(x='x', y='y', z='z', fill='object')
+ geom_voxel_3d(size=0.01)
+ theme_minimal()
+ ylim(0, 8)
+ xlim(0, 8)
+ scale_fill_manual(values={
'link': 'red',
'cube1': 'blue',
'cube2': 'green'
})
)

Line
(
ggplot_3d(data)
+ aes(x='x', y='y', z='z', color='z')
+ geom_line_3d(size=2)
+ theme_minimal()
)

Installation
Installation from PyPI:
pip install plotnine3d
Related Skills
node-connect
339.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
83.8kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
83.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
339.1kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
