11 new geom handlers bringing total support from 16 to 27 geoms:
geom_step, geom_abline, geom_ribbon, geom_errorbar,
geom_linerange, geom_pointrange, geom_crossbar, geom_rug,
geom_label, geom_raster, geom_violin
Violin plots: Proper mirrored density rendering using violinwidth
for accurate shape computation
get_min_max()
and defensive guard in normalize_data() (Closes #1)The ggplotcli() function has been completely rewritten to render any ggplot2
plot in the terminal:
16 Supported Geoms: geom_point, geom_line, geom_path, geom_bar,
geom_col, geom_histogram, geom_density, geom_smooth, geom_area,
geom_segment, geom_hline, geom_vline, geom_rect, geom_text,
geom_boxplot, geom_tile
Legend Support: Automatic legends for color and fill aesthetics
Faceting Support: Both facet_wrap() and facet_grid() work automatically
Theme Auto-Detection: Automatically respects ggplot2 themes - theme_bw()
adds borders and grids, theme_classic() shows only borders, etc.
Multiple Canvas Types:
braille: Highest resolution using Unicode Braille patterns (2x4 dots per character)block: Medium resolution using block elementsascii: Basic ASCII characters for maximum compatibilityStyling Options: Configurable borders, grid lines, titles, subtitles, captions, and axis labels
boxplot_style parameter: "ascii" (box-drawing characters) or "braille"New R6-based canvas system providing:
Extensible system for adding custom geom handlers, making it easy to add support for additional ggplot2 geoms.
geom_tile handler for rendering heatmapsscale_fill_gradient, scale_fill_viridis_c, etc.)facet_wrap() and facet_grid()geom_density not showing distinct colors when using fill aestheticplotcli R6 classggplotcli() function for ggplot2 conversion