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.
- CLAUDE.md +51 -0
- LICENSE +21 -0
- PKG-INFO +358 -0
- README.md +340 -0
- main.py +6 -0
- plotcli-original/.Rbuildignore +18 -0
- plotcli-original/.github/workflows/deploy_docs.yml +43 -0
- plotcli-original/.gitignore +46 -0
- plotcli-original/DESCRIPTION +25 -0
- plotcli-original/NAMESPACE +60 -0
- plotcli-original/NEWS.md +112 -0
- plotcli-original/R/ascii_escape.r +13 -0
- plotcli-original/R/canvas.r +586 -0
- plotcli-original/R/class_functions.r +114 -0
- plotcli-original/R/geom_registry.r +1376 -0
- plotcli-original/R/ggplotcli.r +234 -0
- plotcli-original/R/ggplotcli_helpers.r +1099 -0
- plotcli-original/R/helper_functions.r +351 -0
- plotcli-original/R/plotcli.r +963 -0
- plotcli-original/R/plotcli_grid.r +1 -0
- plotcli-original/R/plotcli_wrappers.r +416 -0
- plotcli-original/R/zzz.r +15 -0
- plotcli-original/README.md +192 -0
- plotcli-original/docs/ascii.png +0 -0
- plotcli-original/docs/bar.png +0 -0
- plotcli-original/docs/block.png +0 -0
- plotcli-original/docs/boxplot.png +0 -0
- plotcli-original/docs/density.png +0 -0
- plotcli-original/docs/facet.png +0 -0
- plotcli-original/docs/facet_grid.png +0 -0
- plotcli-original/docs/generate_png.sh +137 -0
- plotcli-original/docs/heatmap.png +0 -0
- plotcli-original/docs/histogram.png +0 -0
- plotcli-original/docs/line.png +0 -0
- plotcli-original/docs/noborder.png +0 -0
- plotcli-original/docs/scatter.png +0 -0
- plotcli-original/docs/showcase.R +182 -0
- plotcli-original/inst/doc/ggplotcli.R +231 -0
- plotcli-original/inst/doc/ggplotcli.Rmd +329 -0
- plotcli-original/inst/doc/ggplotcli.html +1078 -0
- plotcli-original/inst/doc/plotcli_class.R +98 -0
- plotcli-original/inst/doc/plotcli_class.Rmd +121 -0
- plotcli-original/inst/doc/plotcli_class.html +564 -0
- plotcli-original/inst/doc/plotcli_wrappers.R +35 -0
- plotcli-original/inst/doc/plotcli_wrappers.Rmd +62 -0
- plotcli-original/inst/doc/plotcli_wrappers.html +546 -0
- plotcli-original/man/AsciiCanvas.Rd +116 -0
- plotcli-original/man/BlockCanvas.Rd +132 -0
- plotcli-original/man/BrailleCanvas.Rd +146 -0
- plotcli-original/man/Canvas.Rd +492 -0
- plotcli-original/man/GeomRegistry.Rd +9 -0
- plotcli-original/man/add_legend_to_output.Rd +12 -0
- plotcli-original/man/braille_dot_bit.Rd +29 -0
- plotcli-original/man/braille_set_dot.Rd +21 -0
- plotcli-original/man/bresenham.Rd +27 -0
- plotcli-original/man/build_plot_output.Rd +28 -0
- plotcli-original/man/build_plot_output_v2.Rd +41 -0
- plotcli-original/man/cat_plot_matrix.Rd +17 -0
- plotcli-original/man/cbind.plotcli.Rd +19 -0
- plotcli-original/man/cbind_plots.Rd +17 -0
- plotcli-original/man/color_to_term.Rd +18 -0
- plotcli-original/man/create_canvas.Rd +21 -0
- plotcli-original/man/create_panel_scales.Rd +29 -0
- plotcli-original/man/create_scales.Rd +27 -0
- plotcli-original/man/dot-geom_registry.Rd +16 -0
- plotcli-original/man/draw_border.Rd +12 -0
- plotcli-original/man/draw_grid.Rd +12 -0
- plotcli-original/man/extract_legend_info.Rd +12 -0
- plotcli-original/man/extract_plot_labels.Rd +12 -0
- plotcli-original/man/extract_plot_style.Rd +12 -0
- plotcli-original/man/format_axis_label.Rd +18 -0
- plotcli-original/man/format_four_chars.Rd +21 -0
- plotcli-original/man/geom_area_handler.Rd +12 -0
- plotcli-original/man/geom_bar_handler.Rd +12 -0
- plotcli-original/man/geom_boxplot_handler.Rd +13 -0
- plotcli-original/man/geom_density_handler.Rd +12 -0
- plotcli-original/man/geom_histogram_handler.Rd +12 -0
- plotcli-original/man/geom_hline_handler.Rd +12 -0
- plotcli-original/man/geom_line_handler.Rd +12 -0
- plotcli-original/man/geom_path_handler.Rd +12 -0
- plotcli-original/man/geom_point_handler.Rd +12 -0
- plotcli-original/man/geom_rect_handler.Rd +12 -0
- plotcli-original/man/geom_segment_handler.Rd +12 -0
- plotcli-original/man/geom_smooth_handler.Rd +12 -0
- plotcli-original/man/geom_text_handler.Rd +12 -0
- plotcli-original/man/geom_vline_handler.Rd +12 -0
- plotcli-original/man/get_color_hue.Rd +18 -0
- plotcli-original/man/get_data_subset.Rd +23 -0
- plotcli-original/man/get_facet_info.Rd +18 -0
- plotcli-original/man/get_geom_handler.Rd +17 -0
- plotcli-original/man/get_term_colors.Rd +21 -0
- plotcli-original/man/ggplotcli.Rd +83 -0
- plotcli-original/man/init_color_mapping.Rd +15 -0
- plotcli-original/man/is_braille.Rd +20 -0
- plotcli-original/man/is_geom_registered.Rd +17 -0
- plotcli-original/man/list_registered_geoms.Rd +14 -0
- plotcli-original/man/make_colored.Rd +23 -0
- plotcli-original/man/make_unique_names.Rd +20 -0
- plotcli-original/man/normalize_data.Rd +27 -0
- plotcli-original/man/pclib.Rd +48 -0
- plotcli-original/man/pclibx.Rd +46 -0
- plotcli-original/man/pclid.Rd +44 -0
- plotcli-original/man/pclih.Rd +50 -0
- plotcli-original/man/pclil.Rd +48 -0
- plotcli-original/man/pclis.Rd +48 -0
- plotcli-original/man/pixel_to_braille.Rd +23 -0
- plotcli-original/man/plotcli.Rd +598 -0
- plotcli-original/man/plotcli_bar.Rd +48 -0
- plotcli-original/man/plotcli_box.Rd +46 -0
- plotcli-original/man/plotcli_density.Rd +44 -0
- plotcli-original/man/plotcli_histogram.Rd +50 -0
- plotcli-original/man/plotcli_line.Rd +48 -0
- plotcli-original/man/plotcli_options.Rd +18 -0
- plotcli-original/man/plotcli_scatter.Rd +48 -0
- plotcli-original/man/plus-.plotcli.Rd +19 -0
- plotcli-original/man/rbind.plotcli.Rd +19 -0
- plotcli-original/man/rbind_plots.Rd +17 -0
- plotcli-original/man/register_geom.Rd +21 -0
- plotcli-original/man/remove_color_codes.Rd +21 -0
- plotcli-original/man/render_faceted_plot.Rd +25 -0
- plotcli-original/man/render_single_panel.Rd +12 -0
- plotcli-original/man/safe_aes_name.Rd +18 -0
- plotcli-original/tests/testthat/test-new-geoms.R +136 -0
- plotcli-original/tests/testthat/test-plotcli.R +69 -0
- plotcli-original/tests/testthat.R +4 -0
- plotcli-original/vignettes/ggplotcli.Rmd +329 -0
- plotcli-original/vignettes/plotcli_class.R +98 -0
- plotcli-original/vignettes/plotcli_class.Rmd +121 -0
- plotcli-original/vignettes/plotcli_wrappers.R +35 -0
- plotcli-original/vignettes/plotcli_wrappers.Rmd +62 -0
- plotcli.egg-info/PKG-INFO +11 -0
- plotcli.egg-info/SOURCES.txt +7 -0
- plotcli.egg-info/dependency_links.txt +1 -0
- plotcli.egg-info/entry_points.txt +3 -0
- plotcli.egg-info/top_level.txt +1 -0
- plotcli.py +978 -0
- plotcli_py-0.1.0.dist-info/METADATA +358 -0
- plotcli_py-0.1.0.dist-info/RECORD +143 -0
- plotcli_py-0.1.0.dist-info/WHEEL +4 -0
- plotcli_py-0.1.0.dist-info/entry_points.txt +2 -0
- plotcli_py-0.1.0.dist-info/licenses/LICENSE +21 -0
- pyproject.toml +31 -0
- 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
|
+
```
|