plotcli-py 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. CLAUDE.md +51 -0
  2. LICENSE +21 -0
  3. PKG-INFO +358 -0
  4. README.md +340 -0
  5. main.py +6 -0
  6. plotcli-original/.Rbuildignore +18 -0
  7. plotcli-original/.github/workflows/deploy_docs.yml +43 -0
  8. plotcli-original/.gitignore +46 -0
  9. plotcli-original/DESCRIPTION +25 -0
  10. plotcli-original/NAMESPACE +60 -0
  11. plotcli-original/NEWS.md +112 -0
  12. plotcli-original/R/ascii_escape.r +13 -0
  13. plotcli-original/R/canvas.r +586 -0
  14. plotcli-original/R/class_functions.r +114 -0
  15. plotcli-original/R/geom_registry.r +1376 -0
  16. plotcli-original/R/ggplotcli.r +234 -0
  17. plotcli-original/R/ggplotcli_helpers.r +1099 -0
  18. plotcli-original/R/helper_functions.r +351 -0
  19. plotcli-original/R/plotcli.r +963 -0
  20. plotcli-original/R/plotcli_grid.r +1 -0
  21. plotcli-original/R/plotcli_wrappers.r +416 -0
  22. plotcli-original/R/zzz.r +15 -0
  23. plotcli-original/README.md +192 -0
  24. plotcli-original/docs/ascii.png +0 -0
  25. plotcli-original/docs/bar.png +0 -0
  26. plotcli-original/docs/block.png +0 -0
  27. plotcli-original/docs/boxplot.png +0 -0
  28. plotcli-original/docs/density.png +0 -0
  29. plotcli-original/docs/facet.png +0 -0
  30. plotcli-original/docs/facet_grid.png +0 -0
  31. plotcli-original/docs/generate_png.sh +137 -0
  32. plotcli-original/docs/heatmap.png +0 -0
  33. plotcli-original/docs/histogram.png +0 -0
  34. plotcli-original/docs/line.png +0 -0
  35. plotcli-original/docs/noborder.png +0 -0
  36. plotcli-original/docs/scatter.png +0 -0
  37. plotcli-original/docs/showcase.R +182 -0
  38. plotcli-original/inst/doc/ggplotcli.R +231 -0
  39. plotcli-original/inst/doc/ggplotcli.Rmd +329 -0
  40. plotcli-original/inst/doc/ggplotcli.html +1078 -0
  41. plotcli-original/inst/doc/plotcli_class.R +98 -0
  42. plotcli-original/inst/doc/plotcli_class.Rmd +121 -0
  43. plotcli-original/inst/doc/plotcli_class.html +564 -0
  44. plotcli-original/inst/doc/plotcli_wrappers.R +35 -0
  45. plotcli-original/inst/doc/plotcli_wrappers.Rmd +62 -0
  46. plotcli-original/inst/doc/plotcli_wrappers.html +546 -0
  47. plotcli-original/man/AsciiCanvas.Rd +116 -0
  48. plotcli-original/man/BlockCanvas.Rd +132 -0
  49. plotcli-original/man/BrailleCanvas.Rd +146 -0
  50. plotcli-original/man/Canvas.Rd +492 -0
  51. plotcli-original/man/GeomRegistry.Rd +9 -0
  52. plotcli-original/man/add_legend_to_output.Rd +12 -0
  53. plotcli-original/man/braille_dot_bit.Rd +29 -0
  54. plotcli-original/man/braille_set_dot.Rd +21 -0
  55. plotcli-original/man/bresenham.Rd +27 -0
  56. plotcli-original/man/build_plot_output.Rd +28 -0
  57. plotcli-original/man/build_plot_output_v2.Rd +41 -0
  58. plotcli-original/man/cat_plot_matrix.Rd +17 -0
  59. plotcli-original/man/cbind.plotcli.Rd +19 -0
  60. plotcli-original/man/cbind_plots.Rd +17 -0
  61. plotcli-original/man/color_to_term.Rd +18 -0
  62. plotcli-original/man/create_canvas.Rd +21 -0
  63. plotcli-original/man/create_panel_scales.Rd +29 -0
  64. plotcli-original/man/create_scales.Rd +27 -0
  65. plotcli-original/man/dot-geom_registry.Rd +16 -0
  66. plotcli-original/man/draw_border.Rd +12 -0
  67. plotcli-original/man/draw_grid.Rd +12 -0
  68. plotcli-original/man/extract_legend_info.Rd +12 -0
  69. plotcli-original/man/extract_plot_labels.Rd +12 -0
  70. plotcli-original/man/extract_plot_style.Rd +12 -0
  71. plotcli-original/man/format_axis_label.Rd +18 -0
  72. plotcli-original/man/format_four_chars.Rd +21 -0
  73. plotcli-original/man/geom_area_handler.Rd +12 -0
  74. plotcli-original/man/geom_bar_handler.Rd +12 -0
  75. plotcli-original/man/geom_boxplot_handler.Rd +13 -0
  76. plotcli-original/man/geom_density_handler.Rd +12 -0
  77. plotcli-original/man/geom_histogram_handler.Rd +12 -0
  78. plotcli-original/man/geom_hline_handler.Rd +12 -0
  79. plotcli-original/man/geom_line_handler.Rd +12 -0
  80. plotcli-original/man/geom_path_handler.Rd +12 -0
  81. plotcli-original/man/geom_point_handler.Rd +12 -0
  82. plotcli-original/man/geom_rect_handler.Rd +12 -0
  83. plotcli-original/man/geom_segment_handler.Rd +12 -0
  84. plotcli-original/man/geom_smooth_handler.Rd +12 -0
  85. plotcli-original/man/geom_text_handler.Rd +12 -0
  86. plotcli-original/man/geom_vline_handler.Rd +12 -0
  87. plotcli-original/man/get_color_hue.Rd +18 -0
  88. plotcli-original/man/get_data_subset.Rd +23 -0
  89. plotcli-original/man/get_facet_info.Rd +18 -0
  90. plotcli-original/man/get_geom_handler.Rd +17 -0
  91. plotcli-original/man/get_term_colors.Rd +21 -0
  92. plotcli-original/man/ggplotcli.Rd +83 -0
  93. plotcli-original/man/init_color_mapping.Rd +15 -0
  94. plotcli-original/man/is_braille.Rd +20 -0
  95. plotcli-original/man/is_geom_registered.Rd +17 -0
  96. plotcli-original/man/list_registered_geoms.Rd +14 -0
  97. plotcli-original/man/make_colored.Rd +23 -0
  98. plotcli-original/man/make_unique_names.Rd +20 -0
  99. plotcli-original/man/normalize_data.Rd +27 -0
  100. plotcli-original/man/pclib.Rd +48 -0
  101. plotcli-original/man/pclibx.Rd +46 -0
  102. plotcli-original/man/pclid.Rd +44 -0
  103. plotcli-original/man/pclih.Rd +50 -0
  104. plotcli-original/man/pclil.Rd +48 -0
  105. plotcli-original/man/pclis.Rd +48 -0
  106. plotcli-original/man/pixel_to_braille.Rd +23 -0
  107. plotcli-original/man/plotcli.Rd +598 -0
  108. plotcli-original/man/plotcli_bar.Rd +48 -0
  109. plotcli-original/man/plotcli_box.Rd +46 -0
  110. plotcli-original/man/plotcli_density.Rd +44 -0
  111. plotcli-original/man/plotcli_histogram.Rd +50 -0
  112. plotcli-original/man/plotcli_line.Rd +48 -0
  113. plotcli-original/man/plotcli_options.Rd +18 -0
  114. plotcli-original/man/plotcli_scatter.Rd +48 -0
  115. plotcli-original/man/plus-.plotcli.Rd +19 -0
  116. plotcli-original/man/rbind.plotcli.Rd +19 -0
  117. plotcli-original/man/rbind_plots.Rd +17 -0
  118. plotcli-original/man/register_geom.Rd +21 -0
  119. plotcli-original/man/remove_color_codes.Rd +21 -0
  120. plotcli-original/man/render_faceted_plot.Rd +25 -0
  121. plotcli-original/man/render_single_panel.Rd +12 -0
  122. plotcli-original/man/safe_aes_name.Rd +18 -0
  123. plotcli-original/tests/testthat/test-new-geoms.R +136 -0
  124. plotcli-original/tests/testthat/test-plotcli.R +69 -0
  125. plotcli-original/tests/testthat.R +4 -0
  126. plotcli-original/vignettes/ggplotcli.Rmd +329 -0
  127. plotcli-original/vignettes/plotcli_class.R +98 -0
  128. plotcli-original/vignettes/plotcli_class.Rmd +121 -0
  129. plotcli-original/vignettes/plotcli_wrappers.R +35 -0
  130. plotcli-original/vignettes/plotcli_wrappers.Rmd +62 -0
  131. plotcli.egg-info/PKG-INFO +11 -0
  132. plotcli.egg-info/SOURCES.txt +7 -0
  133. plotcli.egg-info/dependency_links.txt +1 -0
  134. plotcli.egg-info/entry_points.txt +3 -0
  135. plotcli.egg-info/top_level.txt +1 -0
  136. plotcli.py +978 -0
  137. plotcli_py-0.1.0.dist-info/METADATA +358 -0
  138. plotcli_py-0.1.0.dist-info/RECORD +143 -0
  139. plotcli_py-0.1.0.dist-info/WHEEL +4 -0
  140. plotcli_py-0.1.0.dist-info/entry_points.txt +2 -0
  141. plotcli_py-0.1.0.dist-info/licenses/LICENSE +21 -0
  142. pyproject.toml +31 -0
  143. uv.lock +8 -0
@@ -0,0 +1,492 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/canvas.r
3
+ \name{Canvas}
4
+ \alias{Canvas}
5
+ \title{Canvas Classes for Terminal Plotting}
6
+ \description{
7
+ Abstract canvas system that provides different rendering backends:
8
+ - AsciiCanvas: Basic ASCII characters (*, -, |, +)
9
+ - BrailleCanvas: Unicode Braille patterns (2x4 dots per cell = 8x resolution)
10
+ - BlockCanvas: Unicode block elements (half-blocks for 2x vertical resolution)
11
+ }
12
+ \details{
13
+ Abstract base class for all canvas types. Provides the interface
14
+ that all canvas implementations must follow.
15
+ }
16
+ \section{Public fields}{
17
+ \if{html}{\out{<div class="r6-fields">}}
18
+ \describe{
19
+ \item{\code{width}}{Character width of the canvas}
20
+
21
+ \item{\code{height}}{Character height of the canvas}
22
+
23
+ \item{\code{pixel_width}}{Pixel width (may be higher than char width for Braille/Block)}
24
+
25
+ \item{\code{pixel_height}}{Pixel height (may be higher than char height for Braille/Block)}
26
+
27
+ \item{\code{matrix}}{Character matrix for rendering}
28
+
29
+ \item{\code{color_matrix}}{Parallel matrix tracking colors per cell}
30
+
31
+ \item{\code{x_mult}}{Horizontal multiplier (pixels per character)}
32
+
33
+ \item{\code{y_mult}}{Vertical multiplier (pixels per character)}
34
+ }
35
+ \if{html}{\out{</div>}}
36
+ }
37
+ \section{Methods}{
38
+ \subsection{Public methods}{
39
+ \itemize{
40
+ \item \href{#method-Canvas-new}{\code{Canvas$new()}}
41
+ \item \href{#method-Canvas-set_pixel}{\code{Canvas$set_pixel()}}
42
+ \item \href{#method-Canvas-draw_line}{\code{Canvas$draw_line()}}
43
+ \item \href{#method-Canvas-draw_polyline}{\code{Canvas$draw_polyline()}}
44
+ \item \href{#method-Canvas-draw_points}{\code{Canvas$draw_points()}}
45
+ \item \href{#method-Canvas-fill_rect}{\code{Canvas$fill_rect()}}
46
+ \item \href{#method-Canvas-fill_bar}{\code{Canvas$fill_bar()}}
47
+ \item \href{#method-Canvas-draw_text}{\code{Canvas$draw_text()}}
48
+ \item \href{#method-Canvas-apply_colors}{\code{Canvas$apply_colors()}}
49
+ \item \href{#method-Canvas-render}{\code{Canvas$render()}}
50
+ \item \href{#method-Canvas-print}{\code{Canvas$print()}}
51
+ \item \href{#method-Canvas-clear}{\code{Canvas$clear()}}
52
+ \item \href{#method-Canvas-draw_rect}{\code{Canvas$draw_rect()}}
53
+ \item \href{#method-Canvas-fill_area}{\code{Canvas$fill_area()}}
54
+ \item \href{#method-Canvas-draw_segment}{\code{Canvas$draw_segment()}}
55
+ \item \href{#method-Canvas-draw_hline}{\code{Canvas$draw_hline()}}
56
+ \item \href{#method-Canvas-draw_vline}{\code{Canvas$draw_vline()}}
57
+ \item \href{#method-Canvas-draw_circle}{\code{Canvas$draw_circle()}}
58
+ \item \href{#method-Canvas-fill_circle}{\code{Canvas$fill_circle()}}
59
+ \item \href{#method-Canvas-draw_polygon}{\code{Canvas$draw_polygon()}}
60
+ \item \href{#method-Canvas-clone}{\code{Canvas$clone()}}
61
+ }
62
+ }
63
+ \if{html}{\out{<hr>}}
64
+ \if{html}{\out{<a id="method-Canvas-new"></a>}}
65
+ \if{latex}{\out{\hypertarget{method-Canvas-new}{}}}
66
+ \subsection{Method \code{new()}}{
67
+ Initialize the canvas
68
+ \subsection{Usage}{
69
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$new(width, height)}\if{html}{\out{</div>}}
70
+ }
71
+
72
+ \subsection{Arguments}{
73
+ \if{html}{\out{<div class="arguments">}}
74
+ \describe{
75
+ \item{\code{width}}{Character width}
76
+
77
+ \item{\code{height}}{Character height}
78
+ }
79
+ \if{html}{\out{</div>}}
80
+ }
81
+ }
82
+ \if{html}{\out{<hr>}}
83
+ \if{html}{\out{<a id="method-Canvas-set_pixel"></a>}}
84
+ \if{latex}{\out{\hypertarget{method-Canvas-set_pixel}{}}}
85
+ \subsection{Method \code{set_pixel()}}{
86
+ Set a pixel at the given coordinates
87
+ \subsection{Usage}{
88
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$set_pixel(x, y, color = NULL)}\if{html}{\out{</div>}}
89
+ }
90
+
91
+ \subsection{Arguments}{
92
+ \if{html}{\out{<div class="arguments">}}
93
+ \describe{
94
+ \item{\code{x}}{X coordinate (1-based, in pixel space)}
95
+
96
+ \item{\code{y}}{Y coordinate (1-based, in pixel space, 1 = top)}
97
+
98
+ \item{\code{color}}{Optional color name}
99
+ }
100
+ \if{html}{\out{</div>}}
101
+ }
102
+ }
103
+ \if{html}{\out{<hr>}}
104
+ \if{html}{\out{<a id="method-Canvas-draw_line"></a>}}
105
+ \if{latex}{\out{\hypertarget{method-Canvas-draw_line}{}}}
106
+ \subsection{Method \code{draw_line()}}{
107
+ Draw a line between two points
108
+ \subsection{Usage}{
109
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$draw_line(x0, y0, x1, y1, color = NULL)}\if{html}{\out{</div>}}
110
+ }
111
+
112
+ \subsection{Arguments}{
113
+ \if{html}{\out{<div class="arguments">}}
114
+ \describe{
115
+ \item{\code{x0}}{Start X coordinate}
116
+
117
+ \item{\code{y0}}{Start Y coordinate}
118
+
119
+ \item{\code{x1}}{End X coordinate}
120
+
121
+ \item{\code{y1}}{End Y coordinate}
122
+
123
+ \item{\code{color}}{Optional color name}
124
+ }
125
+ \if{html}{\out{</div>}}
126
+ }
127
+ }
128
+ \if{html}{\out{<hr>}}
129
+ \if{html}{\out{<a id="method-Canvas-draw_polyline"></a>}}
130
+ \if{latex}{\out{\hypertarget{method-Canvas-draw_polyline}{}}}
131
+ \subsection{Method \code{draw_polyline()}}{
132
+ Draw multiple connected line segments
133
+ \subsection{Usage}{
134
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$draw_polyline(xs, ys, color = NULL)}\if{html}{\out{</div>}}
135
+ }
136
+
137
+ \subsection{Arguments}{
138
+ \if{html}{\out{<div class="arguments">}}
139
+ \describe{
140
+ \item{\code{xs}}{Vector of X coordinates}
141
+
142
+ \item{\code{ys}}{Vector of Y coordinates}
143
+
144
+ \item{\code{color}}{Optional color name}
145
+ }
146
+ \if{html}{\out{</div>}}
147
+ }
148
+ }
149
+ \if{html}{\out{<hr>}}
150
+ \if{html}{\out{<a id="method-Canvas-draw_points"></a>}}
151
+ \if{latex}{\out{\hypertarget{method-Canvas-draw_points}{}}}
152
+ \subsection{Method \code{draw_points()}}{
153
+ Draw points (scatter)
154
+ \subsection{Usage}{
155
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$draw_points(xs, ys, color = NULL)}\if{html}{\out{</div>}}
156
+ }
157
+
158
+ \subsection{Arguments}{
159
+ \if{html}{\out{<div class="arguments">}}
160
+ \describe{
161
+ \item{\code{xs}}{Vector of X coordinates}
162
+
163
+ \item{\code{ys}}{Vector of Y coordinates}
164
+
165
+ \item{\code{color}}{Optional color name}
166
+ }
167
+ \if{html}{\out{</div>}}
168
+ }
169
+ }
170
+ \if{html}{\out{<hr>}}
171
+ \if{html}{\out{<a id="method-Canvas-fill_rect"></a>}}
172
+ \if{latex}{\out{\hypertarget{method-Canvas-fill_rect}{}}}
173
+ \subsection{Method \code{fill_rect()}}{
174
+ Fill a rectangle
175
+ \subsection{Usage}{
176
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$fill_rect(x0, y0, x1, y1, color = NULL)}\if{html}{\out{</div>}}
177
+ }
178
+
179
+ \subsection{Arguments}{
180
+ \if{html}{\out{<div class="arguments">}}
181
+ \describe{
182
+ \item{\code{x0}}{Left X coordinate}
183
+
184
+ \item{\code{y0}}{Top Y coordinate}
185
+
186
+ \item{\code{x1}}{Right X coordinate}
187
+
188
+ \item{\code{y1}}{Bottom Y coordinate}
189
+
190
+ \item{\code{color}}{Optional color name}
191
+ }
192
+ \if{html}{\out{</div>}}
193
+ }
194
+ }
195
+ \if{html}{\out{<hr>}}
196
+ \if{html}{\out{<a id="method-Canvas-fill_bar"></a>}}
197
+ \if{latex}{\out{\hypertarget{method-Canvas-fill_bar}{}}}
198
+ \subsection{Method \code{fill_bar()}}{
199
+ Fill a vertical bar from bottom up to a height
200
+ \subsection{Usage}{
201
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$fill_bar(x, height, bar_width = 2, color = NULL)}\if{html}{\out{</div>}}
202
+ }
203
+
204
+ \subsection{Arguments}{
205
+ \if{html}{\out{<div class="arguments">}}
206
+ \describe{
207
+ \item{\code{x}}{X coordinate (center of bar in pixel space)}
208
+
209
+ \item{\code{height}}{Height in pixels from bottom}
210
+
211
+ \item{\code{bar_width}}{Width of bar in pixels (default 2)}
212
+
213
+ \item{\code{color}}{Optional color name}
214
+ }
215
+ \if{html}{\out{</div>}}
216
+ }
217
+ }
218
+ \if{html}{\out{<hr>}}
219
+ \if{html}{\out{<a id="method-Canvas-draw_text"></a>}}
220
+ \if{latex}{\out{\hypertarget{method-Canvas-draw_text}{}}}
221
+ \subsection{Method \code{draw_text()}}{
222
+ Place text at a position
223
+ \subsection{Usage}{
224
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$draw_text(x, y, text, color = NULL)}\if{html}{\out{</div>}}
225
+ }
226
+
227
+ \subsection{Arguments}{
228
+ \if{html}{\out{<div class="arguments">}}
229
+ \describe{
230
+ \item{\code{x}}{X coordinate (character position)}
231
+
232
+ \item{\code{y}}{Y coordinate (character position)}
233
+
234
+ \item{\code{text}}{Text string to place}
235
+
236
+ \item{\code{color}}{Optional color name}
237
+ }
238
+ \if{html}{\out{</div>}}
239
+ }
240
+ }
241
+ \if{html}{\out{<hr>}}
242
+ \if{html}{\out{<a id="method-Canvas-apply_colors"></a>}}
243
+ \if{latex}{\out{\hypertarget{method-Canvas-apply_colors}{}}}
244
+ \subsection{Method \code{apply_colors()}}{
245
+ Apply colors to the matrix
246
+ \subsection{Usage}{
247
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$apply_colors()}\if{html}{\out{</div>}}
248
+ }
249
+
250
+ \subsection{Returns}{
251
+ Matrix with ANSI color codes applied
252
+ }
253
+ }
254
+ \if{html}{\out{<hr>}}
255
+ \if{html}{\out{<a id="method-Canvas-render"></a>}}
256
+ \if{latex}{\out{\hypertarget{method-Canvas-render}{}}}
257
+ \subsection{Method \code{render()}}{
258
+ Get the rendered matrix (with colors)
259
+ \subsection{Usage}{
260
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$render()}\if{html}{\out{</div>}}
261
+ }
262
+
263
+ \subsection{Returns}{
264
+ Character matrix
265
+ }
266
+ }
267
+ \if{html}{\out{<hr>}}
268
+ \if{html}{\out{<a id="method-Canvas-print"></a>}}
269
+ \if{latex}{\out{\hypertarget{method-Canvas-print}{}}}
270
+ \subsection{Method \code{print()}}{
271
+ Print the canvas to console
272
+ \subsection{Usage}{
273
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$print()}\if{html}{\out{</div>}}
274
+ }
275
+
276
+ }
277
+ \if{html}{\out{<hr>}}
278
+ \if{html}{\out{<a id="method-Canvas-clear"></a>}}
279
+ \if{latex}{\out{\hypertarget{method-Canvas-clear}{}}}
280
+ \subsection{Method \code{clear()}}{
281
+ Clear the canvas
282
+ \subsection{Usage}{
283
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$clear()}\if{html}{\out{</div>}}
284
+ }
285
+
286
+ }
287
+ \if{html}{\out{<hr>}}
288
+ \if{html}{\out{<a id="method-Canvas-draw_rect"></a>}}
289
+ \if{latex}{\out{\hypertarget{method-Canvas-draw_rect}{}}}
290
+ \subsection{Method \code{draw_rect()}}{
291
+ Draw a rectangle outline
292
+ \subsection{Usage}{
293
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$draw_rect(x0, y0, x1, y1, color = NULL)}\if{html}{\out{</div>}}
294
+ }
295
+
296
+ \subsection{Arguments}{
297
+ \if{html}{\out{<div class="arguments">}}
298
+ \describe{
299
+ \item{\code{x0}}{Left X coordinate (pixel space)}
300
+
301
+ \item{\code{y0}}{Top Y coordinate (pixel space)}
302
+
303
+ \item{\code{x1}}{Right X coordinate (pixel space)}
304
+
305
+ \item{\code{y1}}{Bottom Y coordinate (pixel space)}
306
+
307
+ \item{\code{color}}{Optional color name}
308
+ }
309
+ \if{html}{\out{</div>}}
310
+ }
311
+ }
312
+ \if{html}{\out{<hr>}}
313
+ \if{html}{\out{<a id="method-Canvas-fill_area"></a>}}
314
+ \if{latex}{\out{\hypertarget{method-Canvas-fill_area}{}}}
315
+ \subsection{Method \code{fill_area()}}{
316
+ Fill an area between a polyline and the bottom
317
+ \subsection{Usage}{
318
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$fill_area(xs, ys, color = NULL)}\if{html}{\out{</div>}}
319
+ }
320
+
321
+ \subsection{Arguments}{
322
+ \if{html}{\out{<div class="arguments">}}
323
+ \describe{
324
+ \item{\code{xs}}{Vector of X coordinates}
325
+
326
+ \item{\code{ys}}{Vector of Y coordinates}
327
+
328
+ \item{\code{color}}{Optional color name}
329
+ }
330
+ \if{html}{\out{</div>}}
331
+ }
332
+ }
333
+ \if{html}{\out{<hr>}}
334
+ \if{html}{\out{<a id="method-Canvas-draw_segment"></a>}}
335
+ \if{latex}{\out{\hypertarget{method-Canvas-draw_segment}{}}}
336
+ \subsection{Method \code{draw_segment()}}{
337
+ Draw a segment (line with optional arrowhead)
338
+ \subsection{Usage}{
339
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$draw_segment(x0, y0, x1, y1, arrow_end = FALSE, color = NULL)}\if{html}{\out{</div>}}
340
+ }
341
+
342
+ \subsection{Arguments}{
343
+ \if{html}{\out{<div class="arguments">}}
344
+ \describe{
345
+ \item{\code{x0}}{Start X coordinate}
346
+
347
+ \item{\code{y0}}{Start Y coordinate}
348
+
349
+ \item{\code{x1}}{End X coordinate}
350
+
351
+ \item{\code{y1}}{End Y coordinate}
352
+
353
+ \item{\code{arrow_end}}{Add arrowhead at end (default FALSE)}
354
+
355
+ \item{\code{color}}{Optional color name}
356
+ }
357
+ \if{html}{\out{</div>}}
358
+ }
359
+ }
360
+ \if{html}{\out{<hr>}}
361
+ \if{html}{\out{<a id="method-Canvas-draw_hline"></a>}}
362
+ \if{latex}{\out{\hypertarget{method-Canvas-draw_hline}{}}}
363
+ \subsection{Method \code{draw_hline()}}{
364
+ Draw a horizontal line
365
+ \subsection{Usage}{
366
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$draw_hline(y, x0 = 1, x1 = NULL, color = NULL)}\if{html}{\out{</div>}}
367
+ }
368
+
369
+ \subsection{Arguments}{
370
+ \if{html}{\out{<div class="arguments">}}
371
+ \describe{
372
+ \item{\code{y}}{Y coordinate}
373
+
374
+ \item{\code{x0}}{Start X (default 1)}
375
+
376
+ \item{\code{x1}}{End X (default pixel_width)}
377
+
378
+ \item{\code{color}}{Optional color name}
379
+ }
380
+ \if{html}{\out{</div>}}
381
+ }
382
+ }
383
+ \if{html}{\out{<hr>}}
384
+ \if{html}{\out{<a id="method-Canvas-draw_vline"></a>}}
385
+ \if{latex}{\out{\hypertarget{method-Canvas-draw_vline}{}}}
386
+ \subsection{Method \code{draw_vline()}}{
387
+ Draw a vertical line
388
+ \subsection{Usage}{
389
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$draw_vline(x, y0 = 1, y1 = NULL, color = NULL)}\if{html}{\out{</div>}}
390
+ }
391
+
392
+ \subsection{Arguments}{
393
+ \if{html}{\out{<div class="arguments">}}
394
+ \describe{
395
+ \item{\code{x}}{X coordinate}
396
+
397
+ \item{\code{y0}}{Start Y (default 1)}
398
+
399
+ \item{\code{y1}}{End Y (default pixel_height)}
400
+
401
+ \item{\code{color}}{Optional color name}
402
+ }
403
+ \if{html}{\out{</div>}}
404
+ }
405
+ }
406
+ \if{html}{\out{<hr>}}
407
+ \if{html}{\out{<a id="method-Canvas-draw_circle"></a>}}
408
+ \if{latex}{\out{\hypertarget{method-Canvas-draw_circle}{}}}
409
+ \subsection{Method \code{draw_circle()}}{
410
+ Draw a circle outline
411
+ \subsection{Usage}{
412
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$draw_circle(cx, cy, r, color = NULL)}\if{html}{\out{</div>}}
413
+ }
414
+
415
+ \subsection{Arguments}{
416
+ \if{html}{\out{<div class="arguments">}}
417
+ \describe{
418
+ \item{\code{cx}}{Center X coordinate}
419
+
420
+ \item{\code{cy}}{Center Y coordinate}
421
+
422
+ \item{\code{r}}{Radius in pixels}
423
+
424
+ \item{\code{color}}{Optional color name}
425
+ }
426
+ \if{html}{\out{</div>}}
427
+ }
428
+ }
429
+ \if{html}{\out{<hr>}}
430
+ \if{html}{\out{<a id="method-Canvas-fill_circle"></a>}}
431
+ \if{latex}{\out{\hypertarget{method-Canvas-fill_circle}{}}}
432
+ \subsection{Method \code{fill_circle()}}{
433
+ Fill a circle
434
+ \subsection{Usage}{
435
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$fill_circle(cx, cy, r, color = NULL)}\if{html}{\out{</div>}}
436
+ }
437
+
438
+ \subsection{Arguments}{
439
+ \if{html}{\out{<div class="arguments">}}
440
+ \describe{
441
+ \item{\code{cx}}{Center X coordinate}
442
+
443
+ \item{\code{cy}}{Center Y coordinate}
444
+
445
+ \item{\code{r}}{Radius in pixels}
446
+
447
+ \item{\code{color}}{Optional color name}
448
+ }
449
+ \if{html}{\out{</div>}}
450
+ }
451
+ }
452
+ \if{html}{\out{<hr>}}
453
+ \if{html}{\out{<a id="method-Canvas-draw_polygon"></a>}}
454
+ \if{latex}{\out{\hypertarget{method-Canvas-draw_polygon}{}}}
455
+ \subsection{Method \code{draw_polygon()}}{
456
+ Draw a polygon outline
457
+ \subsection{Usage}{
458
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$draw_polygon(xs, ys, closed = TRUE, color = NULL)}\if{html}{\out{</div>}}
459
+ }
460
+
461
+ \subsection{Arguments}{
462
+ \if{html}{\out{<div class="arguments">}}
463
+ \describe{
464
+ \item{\code{xs}}{Vector of X coordinates}
465
+
466
+ \item{\code{ys}}{Vector of Y coordinates}
467
+
468
+ \item{\code{closed}}{Whether to close the polygon (default TRUE)}
469
+
470
+ \item{\code{color}}{Optional color name}
471
+ }
472
+ \if{html}{\out{</div>}}
473
+ }
474
+ }
475
+ \if{html}{\out{<hr>}}
476
+ \if{html}{\out{<a id="method-Canvas-clone"></a>}}
477
+ \if{latex}{\out{\hypertarget{method-Canvas-clone}{}}}
478
+ \subsection{Method \code{clone()}}{
479
+ The objects of this class are cloneable with this method.
480
+ \subsection{Usage}{
481
+ \if{html}{\out{<div class="r">}}\preformatted{Canvas$clone(deep = FALSE)}\if{html}{\out{</div>}}
482
+ }
483
+
484
+ \subsection{Arguments}{
485
+ \if{html}{\out{<div class="arguments">}}
486
+ \describe{
487
+ \item{\code{deep}}{Whether to make a deep clone.}
488
+ }
489
+ \if{html}{\out{</div>}}
490
+ }
491
+ }
492
+ }
@@ -0,0 +1,9 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/geom_registry.r
3
+ \name{GeomRegistry}
4
+ \alias{GeomRegistry}
5
+ \title{Geom Registry and Dispatch System}
6
+ \description{
7
+ This module provides a registry for geom rendering functions and
8
+ a dispatch system for converting ggplot2 geoms to terminal plots.
9
+ }
@@ -0,0 +1,12 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/ggplotcli_helpers.r
3
+ \name{add_legend_to_output}
4
+ \alias{add_legend_to_output}
5
+ \title{Add Legend to Output Matrix}
6
+ \usage{
7
+ add_legend_to_output(output, legend_info, position, top_margin, plot_height)
8
+ }
9
+ \description{
10
+ Add Legend to Output Matrix
11
+ }
12
+ \keyword{internal}
@@ -0,0 +1,29 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/helper_functions.r
3
+ \name{braille_dot_bit}
4
+ \alias{braille_dot_bit}
5
+ \title{Get Braille dot bit value}
6
+ \usage{
7
+ braille_dot_bit(dot_row, dot_col)
8
+ }
9
+ \arguments{
10
+ \item{dot_row}{Row within the Braille cell (0-3, top to bottom)}
11
+
12
+ \item{dot_col}{Column within the Braille cell (0-1, left to right)}
13
+ }
14
+ \value{
15
+ The bit value for that dot position
16
+ }
17
+ \description{
18
+ Returns the bit value for a specific dot position in a Braille cell.
19
+ Braille cells have a 2x4 dot matrix with the following bit values:
20
+ }
21
+ \details{
22
+ \preformatted{
23
+ Col 0 Col 1
24
+ Row 0: 0x01 0x08
25
+ Row 1: 0x02 0x10
26
+ Row 2: 0x04 0x20
27
+ Row 3: 0x40 0x80
28
+ }
29
+ }
@@ -0,0 +1,21 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/helper_functions.r
3
+ \name{braille_set_dot}
4
+ \alias{braille_set_dot}
5
+ \title{Set a dot in a Braille character}
6
+ \usage{
7
+ braille_set_dot(current_char, dot_row, dot_col)
8
+ }
9
+ \arguments{
10
+ \item{current_char}{The current character (can be space or existing Braille)}
11
+
12
+ \item{dot_row}{Row within the Braille cell (0-3)}
13
+
14
+ \item{dot_col}{Column within the Braille cell (0-1)}
15
+ }
16
+ \value{
17
+ The updated Braille character
18
+ }
19
+ \description{
20
+ Set a dot in a Braille character
21
+ }
@@ -0,0 +1,27 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/helper_functions.r
3
+ \name{bresenham}
4
+ \alias{bresenham}
5
+ \title{Bresenham's line algorithm}
6
+ \usage{
7
+ bresenham(x0, y0, x1, y1)
8
+ }
9
+ \arguments{
10
+ \item{x0}{The x-coordinate of the starting point.}
11
+
12
+ \item{y0}{The y-coordinate of the starting point.}
13
+
14
+ \item{x1}{The x-coordinate of the ending point.}
15
+
16
+ \item{y1}{The y-coordinate of the ending point.}
17
+ }
18
+ \value{
19
+ A list of points that form a line between the two given points.
20
+ }
21
+ \description{
22
+ This function generates a list of points that form a line between two given points using Bresenham's line algorithm.
23
+ }
24
+ \examples{
25
+ bresenham(0, 0, 5, 5)
26
+ bresenham(0, 0, -5, -5)
27
+ }
@@ -0,0 +1,28 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/ggplotcli_helpers.r
3
+ \name{build_plot_output}
4
+ \alias{build_plot_output}
5
+ \title{Build Plot Output with Axes and Title (legacy)}
6
+ \usage{
7
+ build_plot_output(canvas, scales, width, height, show_axes, title)
8
+ }
9
+ \arguments{
10
+ \item{canvas}{The rendered canvas}
11
+
12
+ \item{scales}{The scales object}
13
+
14
+ \item{width}{Total width}
15
+
16
+ \item{height}{Total height}
17
+
18
+ \item{show_axes}{Whether to show axes}
19
+
20
+ \item{title}{Optional title}
21
+ }
22
+ \value{
23
+ Character matrix
24
+ }
25
+ \description{
26
+ Build Plot Output with Axes and Title (legacy)
27
+ }
28
+ \keyword{internal}
@@ -0,0 +1,41 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/ggplotcli_helpers.r
3
+ \name{build_plot_output_v2}
4
+ \alias{build_plot_output_v2}
5
+ \title{Build Plot Output with Axes and Title (v2)}
6
+ \usage{
7
+ build_plot_output_v2(
8
+ canvas,
9
+ scales,
10
+ width,
11
+ height,
12
+ style_opts,
13
+ left_margin,
14
+ top_margin,
15
+ legend_info = NULL
16
+ )
17
+ }
18
+ \arguments{
19
+ \item{canvas}{The rendered canvas}
20
+
21
+ \item{scales}{The scales object}
22
+
23
+ \item{width}{Total width}
24
+
25
+ \item{height}{Total height}
26
+
27
+ \item{style_opts}{Style options}
28
+
29
+ \item{left_margin}{Left margin size}
30
+
31
+ \item{top_margin}{Top margin size}
32
+
33
+ \item{legend_info}{Legend information from extract_legend_info}
34
+ }
35
+ \value{
36
+ Character matrix
37
+ }
38
+ \description{
39
+ Build Plot Output with Axes and Title (v2)
40
+ }
41
+ \keyword{internal}
@@ -0,0 +1,17 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/helper_functions.r
3
+ \name{cat_plot_matrix}
4
+ \alias{cat_plot_matrix}
5
+ \title{Print plot matrix}
6
+ \usage{
7
+ cat_plot_matrix(plot_matrix)
8
+ }
9
+ \arguments{
10
+ \item{plot_matrix}{The plot matrix to be printed.}
11
+ }
12
+ \description{
13
+ This function prints a plot matrix to the console.
14
+ }
15
+ \examples{
16
+ cat_plot_matrix(matrix(c("a", "b", "c", "d"), nrow = 2, ncol = 2))
17
+ }
@@ -0,0 +1,19 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/class_functions.r
3
+ \name{cbind.plotcli}
4
+ \alias{cbind.plotcli}
5
+ \title{Generic function for combining plotcli objects horizontally}
6
+ \usage{
7
+ \method{cbind}{plotcli}(..., deparse.level = 1)
8
+ }
9
+ \arguments{
10
+ \item{...}{plotcli objects to be combined.}
11
+
12
+ \item{deparse.level}{The deparsing level for the arguments.}
13
+ }
14
+ \value{
15
+ A combined plot matrix.
16
+ }
17
+ \description{
18
+ Generic function for combining plotcli objects horizontally
19
+ }