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,98 @@
1
+ ## ----setup, include = FALSE---------------------------------------------------
2
+ knitr::opts_chunk$set(
3
+ collapse = TRUE,
4
+ comment = "#>"
5
+ )
6
+
7
+ ## -----------------------------------------------------------------------------
8
+ library(plotcli)
9
+
10
+ plot_width = 80
11
+ plot_height = 40
12
+
13
+ # Create some example data
14
+ x <- seq(0, 2 * pi, length.out = 100)
15
+ y1 <- sin(x)
16
+ y2 <- cos(x)
17
+
18
+ data_1 = list(
19
+ x = x,
20
+ y = y1,
21
+ name = "y1 = sin(x)",
22
+ color = "blue",
23
+ type = "line",
24
+ braille = FALSE
25
+ )
26
+
27
+ data_2 = list(
28
+ x = x,
29
+ y = y2,
30
+ name = "y2 = cos(x)",
31
+ color = "red",
32
+ type = "line",
33
+ braille = FALSE
34
+ )
35
+
36
+ # Create a plotcli object with specified dimensions
37
+ plot <- plotcli$new(
38
+ plot_width = plot_width,
39
+ plot_height = plot_height,
40
+ x_label = "X-axis",
41
+ y_label = "Y-axis"
42
+ )
43
+
44
+ # Add data sets to the plot
45
+ plot$add_data(data_1)
46
+ plot$add_data(data_2)
47
+
48
+ # Print the plot
49
+ plot$print_plot()
50
+
51
+ ## -----------------------------------------------------------------------------
52
+ library(plotcli)
53
+
54
+ data(mtcars)
55
+
56
+ # Fit a linear model
57
+ lm_fit <- lm(wt ~ mpg, data = mtcars)
58
+
59
+ # Create a new dataset with the predicted values
60
+ predicted_data <- data.frame(mpg = mtcars$mpg, predicted_wt = predict(lm_fit, mtcars))
61
+
62
+ # we use braille characters for the regression line
63
+ data_1 = list(
64
+ x = predicted_data$mpg,
65
+ y = predicted_data$predicted_wt,
66
+ name = "Regression Line",
67
+ color = "red",
68
+ type = "line",
69
+ braille = TRUE
70
+ )
71
+
72
+ # and ascii characters for the raw data
73
+ data_2 = list(
74
+ x = mtcars$mpg,
75
+ y = mtcars$wt,
76
+ name = "Data Points",
77
+ color = "blue",
78
+ type = "scatter",
79
+ braille = FALSE
80
+ )
81
+
82
+ # Create a plotcli object
83
+ plot_width = 80
84
+ plot_height = 40
85
+ plot_obj <- plotcli$new(
86
+ plot_width,
87
+ plot_height,
88
+ x_label = "Miles per Gallon",
89
+ y_label = "Weight"
90
+ )
91
+
92
+ # Add raw data and regression line
93
+ plot_obj$add_data(data_1)
94
+ plot_obj$add_data(data_2)
95
+
96
+ # Print the plot
97
+ plot_obj$print_plot()
98
+
@@ -0,0 +1,121 @@
1
+ ---
2
+ title: "Using the plotcli R6 Class"
3
+ author: "Claas Heuer"
4
+ date: "`r Sys.Date()`"
5
+ output: rmarkdown::html_vignette
6
+ vignette: >
7
+ %\VignetteIndexEntry{Using the plotcli R6 Class}
8
+ %\VignetteEngine{knitr::rmarkdown}
9
+ %\VignetteEncoding{UTF-8}
10
+ ---
11
+
12
+ ```{r setup, include = FALSE}
13
+ knitr::opts_chunk$set(
14
+ collapse = TRUE,
15
+ comment = "#>"
16
+ )
17
+ ```
18
+
19
+ ## Using plotcli R6 class
20
+
21
+ # Setting up a scatter plot with two data sets
22
+
23
+ ```{r}
24
+ library(plotcli)
25
+
26
+ plot_width = 80
27
+ plot_height = 40
28
+
29
+ # Create some example data
30
+ x <- seq(0, 2 * pi, length.out = 100)
31
+ y1 <- sin(x)
32
+ y2 <- cos(x)
33
+
34
+ data_1 = list(
35
+ x = x,
36
+ y = y1,
37
+ name = "y1 = sin(x)",
38
+ color = "blue",
39
+ type = "line",
40
+ braille = FALSE
41
+ )
42
+
43
+ data_2 = list(
44
+ x = x,
45
+ y = y2,
46
+ name = "y2 = cos(x)",
47
+ color = "red",
48
+ type = "line",
49
+ braille = FALSE
50
+ )
51
+
52
+ # Create a plotcli object with specified dimensions
53
+ plot <- plotcli$new(
54
+ plot_width = plot_width,
55
+ plot_height = plot_height,
56
+ x_label = "X-axis",
57
+ y_label = "Y-axis"
58
+ )
59
+
60
+ # Add data sets to the plot
61
+ plot$add_data(data_1)
62
+ plot$add_data(data_2)
63
+
64
+ # Print the plot
65
+ plot$print_plot()
66
+ ```
67
+
68
+ # Combining Ascii and braille characters
69
+
70
+ plotcli can use braille characters for plotting scatter
71
+ and line plots, which give a much higher resolution on supported terminals.
72
+ Whether to use braille or ascii characters can be specified for each data set.
73
+
74
+ ```{r}
75
+ library(plotcli)
76
+
77
+ data(mtcars)
78
+
79
+ # Fit a linear model
80
+ lm_fit <- lm(wt ~ mpg, data = mtcars)
81
+
82
+ # Create a new dataset with the predicted values
83
+ predicted_data <- data.frame(mpg = mtcars$mpg, predicted_wt = predict(lm_fit, mtcars))
84
+
85
+ # we use braille characters for the regression line
86
+ data_1 = list(
87
+ x = predicted_data$mpg,
88
+ y = predicted_data$predicted_wt,
89
+ name = "Regression Line",
90
+ color = "red",
91
+ type = "line",
92
+ braille = TRUE
93
+ )
94
+
95
+ # and ascii characters for the raw data
96
+ data_2 = list(
97
+ x = mtcars$mpg,
98
+ y = mtcars$wt,
99
+ name = "Data Points",
100
+ color = "blue",
101
+ type = "scatter",
102
+ braille = FALSE
103
+ )
104
+
105
+ # Create a plotcli object
106
+ plot_width = 80
107
+ plot_height = 40
108
+ plot_obj <- plotcli$new(
109
+ plot_width,
110
+ plot_height,
111
+ x_label = "Miles per Gallon",
112
+ y_label = "Weight"
113
+ )
114
+
115
+ # Add raw data and regression line
116
+ plot_obj$add_data(data_1)
117
+ plot_obj$add_data(data_2)
118
+
119
+ # Print the plot
120
+ plot_obj$print_plot()
121
+ ```