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,598 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/plotcli.r
3
+ \name{plotcli}
4
+ \alias{plotcli}
5
+ \title{plotcli R6 Class}
6
+ \description{
7
+ plotcli R6 Class
8
+
9
+ plotcli R6 Class
10
+ }
11
+ \details{
12
+ This class provides a set of methods to create and customize command-line plots using R6.
13
+ It supports various plot types, such as scatter, line, bar, and box plots, and allows
14
+ customization of plot elements, such as title, axis labels, ticks, and legend.
15
+ }
16
+ \section{Usage}{
17
+
18
+ \preformatted{
19
+ plotcli <- plotcli$new()
20
+ plotcli$add_data(data)
21
+ plotcli$print_plot()
22
+ }
23
+ }
24
+
25
+ \section{Methods}{
26
+
27
+ \describe{
28
+ \item{initialize()}{Initializes the PlotCLI object with parameters.}
29
+ \item{initialize_plot_matrix()}{Initializes the plot matrix with the plot canvas.}
30
+ \item{print()}{Default print method for PlotCLI object.}
31
+ \item{add_row()}{Adds a single row to the plot matrix.}
32
+ \item{add_col()}{Adds a single column to the plot matrix.}
33
+ \item{add_borders()}{Adds borders around the plot canvas.}
34
+ \item{add_row_col_index()}{Adds row and column index to the plot matrix.}
35
+ \item{add_title()}{Adds a title to the plot matrix.}
36
+ \item{add_y_ticks()}{Adds y-axis tick labels to the plot matrix.}
37
+ \item{add_y_label()}{Adds a y-axis label to the plot matrix.}
38
+ \item{add_x_ticks()}{Adds x-axis tick labels to the plot matrix.}
39
+ \item{add_x_label()}{Adds an x-axis label to the plot matrix.}
40
+ \item{add_legend()}{Adds a legend to the plot matrix.}
41
+ \item{add_data()}{Adds data to the object.}
42
+ \item{get_min_max()}{Gets minimum and maximum values for x and y.}
43
+ \item{remove_out_of_range_data()}{Removes out of range data points if xlim and ylim were given.}
44
+ \item{draw_scatter_plot()}{Draws a scatter plot on the plot canvas.}
45
+ \item{draw_line_plot()}{Draws a line plot on the plot canvas.}
46
+ \item{draw_barplot()}{Draws a bar plot on the plot canvas.}
47
+ \item{draw_barplot_braille()}{Draws a bar plot with braille characters on the plot canvas.}
48
+ \item{draw_boxplot()}{Draws a box plot on the plot canvas.}
49
+ \item{print_plot()}{Assembles all plot elements and prints the plot to the console.}
50
+ }
51
+ }
52
+
53
+ \examples{
54
+ # Create a new plotcli object
55
+ plotcli <- plotcli$new()
56
+
57
+ # Add data for a scatter plot
58
+ plotcli$add_data(list(x = 1:10, y = rnorm(10), type = "scatter", color = "red"))
59
+
60
+ # Print the plot
61
+ plotcli$print_plot()
62
+
63
+ }
64
+ \section{Public fields}{
65
+ \if{html}{\out{<div class="r6-fields">}}
66
+ \describe{
67
+ \item{\code{plot_width}}{The width of the plot}
68
+
69
+ \item{\code{plot_height}}{The height of the plot}
70
+
71
+ \item{\code{plot_canvas}}{The canvas for drawing the plot}
72
+
73
+ \item{\code{plot_matrix}}{The matrix containing the entire plot, including borders, labels, and title}
74
+
75
+ \item{\code{data}}{A list containing the data sets to be plotted}
76
+
77
+ \item{\code{title}}{The title of the plot}
78
+
79
+ \item{\code{x_label}}{The label for the x-axis}
80
+
81
+ \item{\code{y_label}}{The label for the y-axis}
82
+
83
+ \item{\code{ylim}}{The limits for the y-axis}
84
+
85
+ \item{\code{xlim}}{The limits for the x-axis}
86
+
87
+ \item{\code{x_min}}{The minimum value of the x-axis}
88
+
89
+ \item{\code{x_max}}{The maximum value of the x-axis}
90
+
91
+ \item{\code{y_min}}{The minimum value of the y-axis}
92
+
93
+ \item{\code{y_max}}{The maximum value of the y-axis}
94
+
95
+ \item{\code{plot_matrix_canvas_row_start}}{The starting row of the plot canvas within the plot matrix}
96
+
97
+ \item{\code{plot_matrix_canvas_col_start}}{The starting column of the plot canvas within the plot matrix}
98
+
99
+ \item{\code{is_boxplot}}{A logical value indicating if the plot is a boxplot}
100
+
101
+ \item{\code{draw_legend}}{A logical value indicating if the legend should be drawn}
102
+ }
103
+ \if{html}{\out{</div>}}
104
+ }
105
+ \section{Methods}{
106
+ \subsection{Public methods}{
107
+ \itemize{
108
+ \item \href{#method-plotcli-new}{\code{plotcli$new()}}
109
+ \item \href{#method-plotcli-initialize_plot_matrix}{\code{plotcli$initialize_plot_matrix()}}
110
+ \item \href{#method-plotcli-print}{\code{plotcli$print()}}
111
+ \item \href{#method-plotcli-add_row}{\code{plotcli$add_row()}}
112
+ \item \href{#method-plotcli-add_col}{\code{plotcli$add_col()}}
113
+ \item \href{#method-plotcli-add_borders}{\code{plotcli$add_borders()}}
114
+ \item \href{#method-plotcli-add_row_col_index}{\code{plotcli$add_row_col_index()}}
115
+ \item \href{#method-plotcli-add_title}{\code{plotcli$add_title()}}
116
+ \item \href{#method-plotcli-add_y_ticks}{\code{plotcli$add_y_ticks()}}
117
+ \item \href{#method-plotcli-add_y_label}{\code{plotcli$add_y_label()}}
118
+ \item \href{#method-plotcli-add_x_ticks}{\code{plotcli$add_x_ticks()}}
119
+ \item \href{#method-plotcli-add_x_label}{\code{plotcli$add_x_label()}}
120
+ \item \href{#method-plotcli-add_legend}{\code{plotcli$add_legend()}}
121
+ \item \href{#method-plotcli-add_data}{\code{plotcli$add_data()}}
122
+ \item \href{#method-plotcli-get_min_max}{\code{plotcli$get_min_max()}}
123
+ \item \href{#method-plotcli-remove_out_of_range_data}{\code{plotcli$remove_out_of_range_data()}}
124
+ \item \href{#method-plotcli-draw_scatter_plot}{\code{plotcli$draw_scatter_plot()}}
125
+ \item \href{#method-plotcli-draw_line_plot}{\code{plotcli$draw_line_plot()}}
126
+ \item \href{#method-plotcli-draw_barplot}{\code{plotcli$draw_barplot()}}
127
+ \item \href{#method-plotcli-draw_barplot_braille}{\code{plotcli$draw_barplot_braille()}}
128
+ \item \href{#method-plotcli-draw_boxplot}{\code{plotcli$draw_boxplot()}}
129
+ \item \href{#method-plotcli-draw_colors}{\code{plotcli$draw_colors()}}
130
+ \item \href{#method-plotcli-draw_plot}{\code{plotcli$draw_plot()}}
131
+ \item \href{#method-plotcli-make_plot_matrix}{\code{plotcli$make_plot_matrix()}}
132
+ \item \href{#method-plotcli-export_plot_matrix}{\code{plotcli$export_plot_matrix()}}
133
+ \item \href{#method-plotcli-print_plot}{\code{plotcli$print_plot()}}
134
+ \item \href{#method-plotcli-merge}{\code{plotcli$merge()}}
135
+ \item \href{#method-plotcli-clone}{\code{plotcli$clone()}}
136
+ }
137
+ }
138
+ \if{html}{\out{<hr>}}
139
+ \if{html}{\out{<a id="method-plotcli-new"></a>}}
140
+ \if{latex}{\out{\hypertarget{method-plotcli-new}{}}}
141
+ \subsection{Method \code{new()}}{
142
+ Initialize object
143
+ \subsection{Usage}{
144
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$new(
145
+ plot_width = 60,
146
+ plot_height = 20,
147
+ x_label = "x",
148
+ y_label = "y",
149
+ ylim = NULL,
150
+ xlim = NULL,
151
+ title = NULL,
152
+ is_boxplot = FALSE,
153
+ draw_legend = TRUE
154
+ )}\if{html}{\out{</div>}}
155
+ }
156
+
157
+ \subsection{Arguments}{
158
+ \if{html}{\out{<div class="arguments">}}
159
+ \describe{
160
+ \item{\code{plot_width}}{integer, width of the plot canvas}
161
+
162
+ \item{\code{plot_height}}{integer, height of the plot canvas}
163
+
164
+ \item{\code{x_label}}{character, label for the x-axis}
165
+
166
+ \item{\code{y_label}}{character, label for the y-axis}
167
+
168
+ \item{\code{ylim}}{numeric vector, limits for the y-axis}
169
+
170
+ \item{\code{xlim}}{numeric vector, limits for the x-axis}
171
+
172
+ \item{\code{title}}{character, title of the plot}
173
+
174
+ \item{\code{is_boxplot}}{logical, whether the plot is a boxplot}
175
+
176
+ \item{\code{draw_legend}}{logical, whether to draw the legend
177
+ This function initializes the plot matrix based on the plot canvas.}
178
+ }
179
+ \if{html}{\out{</div>}}
180
+ }
181
+ }
182
+ \if{html}{\out{<hr>}}
183
+ \if{html}{\out{<a id="method-plotcli-initialize_plot_matrix"></a>}}
184
+ \if{latex}{\out{\hypertarget{method-plotcli-initialize_plot_matrix}{}}}
185
+ \subsection{Method \code{initialize_plot_matrix()}}{
186
+ Initialize the plot matrix
187
+ \subsection{Usage}{
188
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$initialize_plot_matrix()}\if{html}{\out{</div>}}
189
+ }
190
+
191
+ \subsection{Arguments}{
192
+ \if{html}{\out{<div class="arguments">}}
193
+ \describe{
194
+ \item{\code{plot_width}}{The width of the plot}
195
+
196
+ \item{\code{plot_height}}{The height of the plot}
197
+ }
198
+ \if{html}{\out{</div>}}
199
+ }
200
+ \subsection{Returns}{
201
+ A plot matrix object
202
+ }
203
+ }
204
+ \if{html}{\out{<hr>}}
205
+ \if{html}{\out{<a id="method-plotcli-print"></a>}}
206
+ \if{latex}{\out{\hypertarget{method-plotcli-print}{}}}
207
+ \subsection{Method \code{print()}}{
208
+ Default print method for plotcli object
209
+ \subsection{Usage}{
210
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$print(...)}\if{html}{\out{</div>}}
211
+ }
212
+
213
+ \subsection{Arguments}{
214
+ \if{html}{\out{<div class="arguments">}}
215
+ \describe{
216
+ \item{\code{...}}{Additional arguments passed to the print method}
217
+ }
218
+ \if{html}{\out{</div>}}
219
+ }
220
+ \subsection{Returns}{
221
+ The plotcli object, invisibly
222
+ }
223
+ }
224
+ \if{html}{\out{<hr>}}
225
+ \if{html}{\out{<a id="method-plotcli-add_row"></a>}}
226
+ \if{latex}{\out{\hypertarget{method-plotcli-add_row}{}}}
227
+ \subsection{Method \code{add_row()}}{
228
+ Add a single row to the plot matrix
229
+ \subsection{Usage}{
230
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_row(bottom = FALSE)}\if{html}{\out{</div>}}
231
+ }
232
+
233
+ \subsection{Arguments}{
234
+ \if{html}{\out{<div class="arguments">}}
235
+ \describe{
236
+ \item{\code{bottom}}{logical, if TRUE, add row to the bottom of the matrix, otherwise add to the top (default: FALSE)}
237
+ }
238
+ \if{html}{\out{</div>}}
239
+ }
240
+ }
241
+ \if{html}{\out{<hr>}}
242
+ \if{html}{\out{<a id="method-plotcli-add_col"></a>}}
243
+ \if{latex}{\out{\hypertarget{method-plotcli-add_col}{}}}
244
+ \subsection{Method \code{add_col()}}{
245
+ Add a single column to the plot matrix
246
+ \subsection{Usage}{
247
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_col()}\if{html}{\out{</div>}}
248
+ }
249
+
250
+ }
251
+ \if{html}{\out{<hr>}}
252
+ \if{html}{\out{<a id="method-plotcli-add_borders"></a>}}
253
+ \if{latex}{\out{\hypertarget{method-plotcli-add_borders}{}}}
254
+ \subsection{Method \code{add_borders()}}{
255
+ Add borders to the plot matrix
256
+ \subsection{Usage}{
257
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_borders()}\if{html}{\out{</div>}}
258
+ }
259
+
260
+ }
261
+ \if{html}{\out{<hr>}}
262
+ \if{html}{\out{<a id="method-plotcli-add_row_col_index"></a>}}
263
+ \if{latex}{\out{\hypertarget{method-plotcli-add_row_col_index}{}}}
264
+ \subsection{Method \code{add_row_col_index()}}{
265
+ Add row and column index to the plot matrix
266
+ Add title to the plot matrix
267
+ \subsection{Usage}{
268
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_row_col_index()}\if{html}{\out{</div>}}
269
+ }
270
+
271
+ }
272
+ \if{html}{\out{<hr>}}
273
+ \if{html}{\out{<a id="method-plotcli-add_title"></a>}}
274
+ \if{latex}{\out{\hypertarget{method-plotcli-add_title}{}}}
275
+ \subsection{Method \code{add_title()}}{
276
+ \subsection{Usage}{
277
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_title()}\if{html}{\out{</div>}}
278
+ }
279
+
280
+ \subsection{Arguments}{
281
+ \if{html}{\out{<div class="arguments">}}
282
+ \describe{
283
+ \item{\code{title}}{character, title of the plot
284
+ Add y-ticks label to the plot matrix}
285
+ }
286
+ \if{html}{\out{</div>}}
287
+ }
288
+ }
289
+ \if{html}{\out{<hr>}}
290
+ \if{html}{\out{<a id="method-plotcli-add_y_ticks"></a>}}
291
+ \if{latex}{\out{\hypertarget{method-plotcli-add_y_ticks}{}}}
292
+ \subsection{Method \code{add_y_ticks()}}{
293
+ \subsection{Usage}{
294
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_y_ticks(n_ticks = 5)}\if{html}{\out{</div>}}
295
+ }
296
+
297
+ \subsection{Arguments}{
298
+ \if{html}{\out{<div class="arguments">}}
299
+ \describe{
300
+ \item{\code{n_ticks}}{numeric, number of ticks
301
+ Add y-axis label to the plot matrix}
302
+ }
303
+ \if{html}{\out{</div>}}
304
+ }
305
+ }
306
+ \if{html}{\out{<hr>}}
307
+ \if{html}{\out{<a id="method-plotcli-add_y_label"></a>}}
308
+ \if{latex}{\out{\hypertarget{method-plotcli-add_y_label}{}}}
309
+ \subsection{Method \code{add_y_label()}}{
310
+ Add a y-axis label to the plot matrix
311
+ \subsection{Usage}{
312
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_y_label(y_label = self$y_label)}\if{html}{\out{</div>}}
313
+ }
314
+
315
+ \subsection{Arguments}{
316
+ \if{html}{\out{<div class="arguments">}}
317
+ \describe{
318
+ \item{\code{y_label}}{character, the y-axis label to be added
319
+ Add x-ticks label to the plot matrix}
320
+ }
321
+ \if{html}{\out{</div>}}
322
+ }
323
+ }
324
+ \if{html}{\out{<hr>}}
325
+ \if{html}{\out{<a id="method-plotcli-add_x_ticks"></a>}}
326
+ \if{latex}{\out{\hypertarget{method-plotcli-add_x_ticks}{}}}
327
+ \subsection{Method \code{add_x_ticks()}}{
328
+ \subsection{Usage}{
329
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_x_ticks(n_ticks = 5)}\if{html}{\out{</div>}}
330
+ }
331
+
332
+ \subsection{Arguments}{
333
+ \if{html}{\out{<div class="arguments">}}
334
+ \describe{
335
+ \item{\code{n_ticks}}{numeric, number of ticks
336
+ Add x-axis label to the plot matrix}
337
+ }
338
+ \if{html}{\out{</div>}}
339
+ }
340
+ }
341
+ \if{html}{\out{<hr>}}
342
+ \if{html}{\out{<a id="method-plotcli-add_x_label"></a>}}
343
+ \if{latex}{\out{\hypertarget{method-plotcli-add_x_label}{}}}
344
+ \subsection{Method \code{add_x_label()}}{
345
+ Add x-axis label to the plot matrix
346
+ \subsection{Usage}{
347
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_x_label(x_label = self$x_label)}\if{html}{\out{</div>}}
348
+ }
349
+
350
+ \subsection{Arguments}{
351
+ \if{html}{\out{<div class="arguments">}}
352
+ \describe{
353
+ \item{\code{x_label}}{x label
354
+ Add legend to the plot matrix}
355
+ }
356
+ \if{html}{\out{</div>}}
357
+ }
358
+ }
359
+ \if{html}{\out{<hr>}}
360
+ \if{html}{\out{<a id="method-plotcli-add_legend"></a>}}
361
+ \if{latex}{\out{\hypertarget{method-plotcli-add_legend}{}}}
362
+ \subsection{Method \code{add_legend()}}{
363
+ Add legend to the plot matrix
364
+ Add data to the object.
365
+ \subsection{Usage}{
366
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_legend()}\if{html}{\out{</div>}}
367
+ }
368
+
369
+ }
370
+ \if{html}{\out{<hr>}}
371
+ \if{html}{\out{<a id="method-plotcli-add_data"></a>}}
372
+ \if{latex}{\out{\hypertarget{method-plotcli-add_data}{}}}
373
+ \subsection{Method \code{add_data()}}{
374
+ \subsection{Usage}{
375
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$add_data(data)}\if{html}{\out{</div>}}
376
+ }
377
+
378
+ \subsection{Arguments}{
379
+ \if{html}{\out{<div class="arguments">}}
380
+ \describe{
381
+ \item{\code{data}}{list, list with elements: x, y, type, color, braille, name
382
+ Get minimum and maximum values for x and y}
383
+ }
384
+ \if{html}{\out{</div>}}
385
+ }
386
+ }
387
+ \if{html}{\out{<hr>}}
388
+ \if{html}{\out{<a id="method-plotcli-get_min_max"></a>}}
389
+ \if{latex}{\out{\hypertarget{method-plotcli-get_min_max}{}}}
390
+ \subsection{Method \code{get_min_max()}}{
391
+ Calculate the minimum and maximum values for x and y
392
+ Function to remove out of range data points if xlim and ylim were given
393
+ \subsection{Usage}{
394
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$get_min_max()}\if{html}{\out{</div>}}
395
+ }
396
+
397
+ }
398
+ \if{html}{\out{<hr>}}
399
+ \if{html}{\out{<a id="method-plotcli-remove_out_of_range_data"></a>}}
400
+ \if{latex}{\out{\hypertarget{method-plotcli-remove_out_of_range_data}{}}}
401
+ \subsection{Method \code{remove_out_of_range_data()}}{
402
+ Remove data points that are outside the specified xlim and ylim
403
+ Draw a scatter plot to the plot canvas.
404
+ \subsection{Usage}{
405
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$remove_out_of_range_data()}\if{html}{\out{</div>}}
406
+ }
407
+
408
+ }
409
+ \if{html}{\out{<hr>}}
410
+ \if{html}{\out{<a id="method-plotcli-draw_scatter_plot"></a>}}
411
+ \if{latex}{\out{\hypertarget{method-plotcli-draw_scatter_plot}{}}}
412
+ \subsection{Method \code{draw_scatter_plot()}}{
413
+ Draw a scatter plot of the specified data set on the plot canvas.
414
+ \subsection{Usage}{
415
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$draw_scatter_plot(set_idx)}\if{html}{\out{</div>}}
416
+ }
417
+
418
+ \subsection{Arguments}{
419
+ \if{html}{\out{<div class="arguments">}}
420
+ \describe{
421
+ \item{\code{set_idx}}{numeric, the data element index to be drawn
422
+ Draw a line plot to the plot canvas.}
423
+ }
424
+ \if{html}{\out{</div>}}
425
+ }
426
+ }
427
+ \if{html}{\out{<hr>}}
428
+ \if{html}{\out{<a id="method-plotcli-draw_line_plot"></a>}}
429
+ \if{latex}{\out{\hypertarget{method-plotcli-draw_line_plot}{}}}
430
+ \subsection{Method \code{draw_line_plot()}}{
431
+ \subsection{Usage}{
432
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$draw_line_plot(set_idx)}\if{html}{\out{</div>}}
433
+ }
434
+
435
+ \subsection{Arguments}{
436
+ \if{html}{\out{<div class="arguments">}}
437
+ \describe{
438
+ \item{\code{set_idx}}{numeric, the data element index to be drawn
439
+ Draw a barplot to the plot canvas.}
440
+ }
441
+ \if{html}{\out{</div>}}
442
+ }
443
+ }
444
+ \if{html}{\out{<hr>}}
445
+ \if{html}{\out{<a id="method-plotcli-draw_barplot"></a>}}
446
+ \if{latex}{\out{\hypertarget{method-plotcli-draw_barplot}{}}}
447
+ \subsection{Method \code{draw_barplot()}}{
448
+ \subsection{Usage}{
449
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$draw_barplot(set_idx)}\if{html}{\out{</div>}}
450
+ }
451
+
452
+ \subsection{Arguments}{
453
+ \if{html}{\out{<div class="arguments">}}
454
+ \describe{
455
+ \item{\code{set_idx}}{numeric, the data element index to be drawn
456
+ Draw a barplot to the plot canvas with braille characters.}
457
+ }
458
+ \if{html}{\out{</div>}}
459
+ }
460
+ }
461
+ \if{html}{\out{<hr>}}
462
+ \if{html}{\out{<a id="method-plotcli-draw_barplot_braille"></a>}}
463
+ \if{latex}{\out{\hypertarget{method-plotcli-draw_barplot_braille}{}}}
464
+ \subsection{Method \code{draw_barplot_braille()}}{
465
+ \subsection{Usage}{
466
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$draw_barplot_braille(set_idx)}\if{html}{\out{</div>}}
467
+ }
468
+
469
+ \subsection{Arguments}{
470
+ \if{html}{\out{<div class="arguments">}}
471
+ \describe{
472
+ \item{\code{set_idx}}{numeric, the data element index to be drawn
473
+ Draw a boxplot to the plot canvas.}
474
+ }
475
+ \if{html}{\out{</div>}}
476
+ }
477
+ }
478
+ \if{html}{\out{<hr>}}
479
+ \if{html}{\out{<a id="method-plotcli-draw_boxplot"></a>}}
480
+ \if{latex}{\out{\hypertarget{method-plotcli-draw_boxplot}{}}}
481
+ \subsection{Method \code{draw_boxplot()}}{
482
+ \subsection{Usage}{
483
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$draw_boxplot(set_idx)}\if{html}{\out{</div>}}
484
+ }
485
+
486
+ \subsection{Arguments}{
487
+ \if{html}{\out{<div class="arguments">}}
488
+ \describe{
489
+ \item{\code{set_idx}}{numeric, the data element index to be drawn
490
+ Draw colors to the canvas}
491
+ }
492
+ \if{html}{\out{</div>}}
493
+ }
494
+ }
495
+ \if{html}{\out{<hr>}}
496
+ \if{html}{\out{<a id="method-plotcli-draw_colors"></a>}}
497
+ \if{latex}{\out{\hypertarget{method-plotcli-draw_colors}{}}}
498
+ \subsection{Method \code{draw_colors()}}{
499
+ In the draw_ functions we have been keeping track of the locations of the colored matrix elements.
500
+ These are now being colored.
501
+ Draw the different plots types from all data elements to the canvas
502
+ \subsection{Usage}{
503
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$draw_colors()}\if{html}{\out{</div>}}
504
+ }
505
+
506
+ }
507
+ \if{html}{\out{<hr>}}
508
+ \if{html}{\out{<a id="method-plotcli-draw_plot"></a>}}
509
+ \if{latex}{\out{\hypertarget{method-plotcli-draw_plot}{}}}
510
+ \subsection{Method \code{draw_plot()}}{
511
+ This function iterates through all data elements and calls the appropriate draw_ function
512
+ based on the plot type (scatter, line, boxplot, or barplot).
513
+ Make plot matrix: assembles all plot elements (canvas + borders + title + axes + legend)
514
+ \subsection{Usage}{
515
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$draw_plot()}\if{html}{\out{</div>}}
516
+ }
517
+
518
+ }
519
+ \if{html}{\out{<hr>}}
520
+ \if{html}{\out{<a id="method-plotcli-make_plot_matrix"></a>}}
521
+ \if{latex}{\out{\hypertarget{method-plotcli-make_plot_matrix}{}}}
522
+ \subsection{Method \code{make_plot_matrix()}}{
523
+ This function assembles all plot elements (canvas + borders + title + axes + legend)
524
+ and creates the final plot matrix.
525
+ Export plot matrix
526
+ \subsection{Usage}{
527
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$make_plot_matrix()}\if{html}{\out{</div>}}
528
+ }
529
+
530
+ }
531
+ \if{html}{\out{<hr>}}
532
+ \if{html}{\out{<a id="method-plotcli-export_plot_matrix"></a>}}
533
+ \if{latex}{\out{\hypertarget{method-plotcli-export_plot_matrix}{}}}
534
+ \subsection{Method \code{export_plot_matrix()}}{
535
+ This function exports the plot matrix.
536
+ \subsection{Usage}{
537
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$export_plot_matrix()}\if{html}{\out{</div>}}
538
+ }
539
+
540
+ \subsection{Returns}{
541
+ The plot matrix.
542
+ Main plotting function: assembles all plot elements (canvas + borders + title + axes + legend) and prints the plot
543
+ by 'cat'ing the plot matrix to the console.
544
+ }
545
+ }
546
+ \if{html}{\out{<hr>}}
547
+ \if{html}{\out{<a id="method-plotcli-print_plot"></a>}}
548
+ \if{latex}{\out{\hypertarget{method-plotcli-print_plot}{}}}
549
+ \subsection{Method \code{print_plot()}}{
550
+ This function assembles all plot elements (canvas + borders + title + axes + legend) and
551
+ prints the final plot by 'cat'ing the plot matrix to the console.
552
+ Merge two plotcli objects
553
+
554
+ This method combines the data from two plotcli objects into a single plotcli object.
555
+ It takes the maximum of the plot_width and plot_height, combines the titles, and sets
556
+ the xlim and ylim to the minimum and maximum values of both objects.
557
+ \subsection{Usage}{
558
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$print_plot()}\if{html}{\out{</div>}}
559
+ }
560
+
561
+ }
562
+ \if{html}{\out{<hr>}}
563
+ \if{html}{\out{<a id="method-plotcli-merge"></a>}}
564
+ \if{latex}{\out{\hypertarget{method-plotcli-merge}{}}}
565
+ \subsection{Method \code{merge()}}{
566
+ \subsection{Usage}{
567
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$merge(other)}\if{html}{\out{</div>}}
568
+ }
569
+
570
+ \subsection{Arguments}{
571
+ \if{html}{\out{<div class="arguments">}}
572
+ \describe{
573
+ \item{\code{other}}{A plotcli object to be merged with the current object.}
574
+ }
575
+ \if{html}{\out{</div>}}
576
+ }
577
+ \subsection{Returns}{
578
+ A new plotcli object containing the combined data from both objects.
579
+ }
580
+ }
581
+ \if{html}{\out{<hr>}}
582
+ \if{html}{\out{<a id="method-plotcli-clone"></a>}}
583
+ \if{latex}{\out{\hypertarget{method-plotcli-clone}{}}}
584
+ \subsection{Method \code{clone()}}{
585
+ The objects of this class are cloneable with this method.
586
+ \subsection{Usage}{
587
+ \if{html}{\out{<div class="r">}}\preformatted{plotcli$clone(deep = FALSE)}\if{html}{\out{</div>}}
588
+ }
589
+
590
+ \subsection{Arguments}{
591
+ \if{html}{\out{<div class="arguments">}}
592
+ \describe{
593
+ \item{\code{deep}}{Whether to make a deep clone.}
594
+ }
595
+ \if{html}{\out{</div>}}
596
+ }
597
+ }
598
+ }
@@ -0,0 +1,48 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/plotcli_wrappers.r
3
+ \name{plotcli_bar}
4
+ \alias{plotcli_bar}
5
+ \title{Bar plot using plotcli}
6
+ \usage{
7
+ plotcli_bar(
8
+ y,
9
+ x = NULL,
10
+ plot_width = getOption("plotcli.plot_width", 80),
11
+ plot_height = getOption("plotcli.plot_height", 40),
12
+ x_label = "x",
13
+ y_label = "y",
14
+ color = NULL,
15
+ braille = getOption("plotcli.braille", TRUE),
16
+ name = "barplot",
17
+ ...
18
+ )
19
+ }
20
+ \arguments{
21
+ \item{y}{A numeric vector of values}
22
+
23
+ \item{x}{A vector of categories}
24
+
25
+ \item{plot_width}{Width of the plot (default: 80)}
26
+
27
+ \item{plot_height}{Height of the plot (default: 40)}
28
+
29
+ \item{x_label}{Label for the x-axis (default: "x")}
30
+
31
+ \item{y_label}{Label for the y-axis (default: "y")}
32
+
33
+ \item{color}{Color of the plot elements (default: NULL)}
34
+
35
+ \item{braille}{Use Braille characters for the plot (default: TRUE)}
36
+
37
+ \item{name}{Name of the plot element (default: "barplot")}
38
+
39
+ \item{...}{Additional arguments passed to the plotcli$new() function}
40
+ }
41
+ \description{
42
+ Create a bar plot using plotcli. Short alias: \code{pclb}.
43
+ }
44
+ \examples{
45
+ x <- 1:5
46
+ y <- c(10, 15, 8, 12, 6)
47
+ plotcli_bar(x, y)
48
+ }
@@ -0,0 +1,46 @@
1
+ % Generated by roxygen2: do not edit by hand
2
+ % Please edit documentation in R/plotcli_wrappers.r
3
+ \name{plotcli_box}
4
+ \alias{plotcli_box}
5
+ \title{Box plot using plotcli}
6
+ \usage{
7
+ plotcli_box(
8
+ y,
9
+ plot_width = getOption("plotcli.plot_width", 80),
10
+ plot_height = getOption("plotcli.plot_height", 40),
11
+ x_label = "x",
12
+ y_label = "y",
13
+ color = NULL,
14
+ braille = getOption("plotcli.braille", TRUE),
15
+ name = "boxplot",
16
+ ...
17
+ )
18
+ }
19
+ \arguments{
20
+ \item{y}{A list of numeric vectors of values}
21
+
22
+ \item{plot_width}{Width of the plot (default: 80)}
23
+
24
+ \item{plot_height}{Height of the plot (default: 40)}
25
+
26
+ \item{x_label}{Label for the x-axis (default: "x")}
27
+
28
+ \item{y_label}{Label for the y-axis (default: "y")}
29
+
30
+ \item{color}{Color of the plot elements (default: NULL)}
31
+
32
+ \item{braille}{Use Braille characters for the plot (default: TRUE)}
33
+
34
+ \item{name}{Name of the plot element (default: "boxplot")}
35
+
36
+ \item{...}{Additional arguments passed to the plotcli$new() function}
37
+
38
+ \item{x}{A vector of categories}
39
+ }
40
+ \description{
41
+ Create a box plot using plotcli. Short alias: \code{pclbx}.
42
+ }
43
+ \examples{
44
+ y <- rnorm(50, mean = 0)
45
+ plotcli_box(y)
46
+ }