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,564 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
|
|
3
|
+
<html>
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<meta name="generator" content="pandoc" />
|
|
9
|
+
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
|
|
10
|
+
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
|
|
13
|
+
<meta name="author" content="Claas Heuer" />
|
|
14
|
+
|
|
15
|
+
<meta name="date" content="2026-02-09" />
|
|
16
|
+
|
|
17
|
+
<title>Using the plotcli R6 Class</title>
|
|
18
|
+
|
|
19
|
+
<script>// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
|
|
20
|
+
// be compatible with the behavior of Pandoc < 2.8).
|
|
21
|
+
document.addEventListener('DOMContentLoaded', function(e) {
|
|
22
|
+
var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
|
|
23
|
+
var i, h, a;
|
|
24
|
+
for (i = 0; i < hs.length; i++) {
|
|
25
|
+
h = hs[i];
|
|
26
|
+
if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
|
|
27
|
+
a = h.attributes;
|
|
28
|
+
while (a.length > 0) h.removeAttribute(a[0].name);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<style type="text/css">
|
|
34
|
+
code{white-space: pre-wrap;}
|
|
35
|
+
span.smallcaps{font-variant: small-caps;}
|
|
36
|
+
span.underline{text-decoration: underline;}
|
|
37
|
+
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
|
38
|
+
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
39
|
+
ul.task-list{list-style: none;}
|
|
40
|
+
</style>
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
<style type="text/css">
|
|
45
|
+
code {
|
|
46
|
+
white-space: pre;
|
|
47
|
+
}
|
|
48
|
+
.sourceCode {
|
|
49
|
+
overflow: visible;
|
|
50
|
+
}
|
|
51
|
+
</style>
|
|
52
|
+
<style type="text/css" data-origin="pandoc">
|
|
53
|
+
html { -webkit-text-size-adjust: 100%; }
|
|
54
|
+
pre > code.sourceCode { white-space: pre; position: relative; }
|
|
55
|
+
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
|
56
|
+
pre > code.sourceCode > span:empty { height: 1.2em; }
|
|
57
|
+
.sourceCode { overflow: visible; }
|
|
58
|
+
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
|
59
|
+
div.sourceCode { margin: 1em 0; }
|
|
60
|
+
pre.sourceCode { margin: 0; }
|
|
61
|
+
@media screen {
|
|
62
|
+
div.sourceCode { overflow: auto; }
|
|
63
|
+
}
|
|
64
|
+
@media print {
|
|
65
|
+
pre > code.sourceCode { white-space: pre-wrap; }
|
|
66
|
+
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
|
67
|
+
}
|
|
68
|
+
pre.numberSource code
|
|
69
|
+
{ counter-reset: source-line 0; }
|
|
70
|
+
pre.numberSource code > span
|
|
71
|
+
{ position: relative; left: -4em; counter-increment: source-line; }
|
|
72
|
+
pre.numberSource code > span > a:first-child::before
|
|
73
|
+
{ content: counter(source-line);
|
|
74
|
+
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
|
75
|
+
border: none; display: inline-block;
|
|
76
|
+
-webkit-touch-callout: none; -webkit-user-select: none;
|
|
77
|
+
-khtml-user-select: none; -moz-user-select: none;
|
|
78
|
+
-ms-user-select: none; user-select: none;
|
|
79
|
+
padding: 0 4px; width: 4em;
|
|
80
|
+
color: #aaaaaa;
|
|
81
|
+
}
|
|
82
|
+
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
|
83
|
+
div.sourceCode
|
|
84
|
+
{ }
|
|
85
|
+
@media screen {
|
|
86
|
+
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
|
87
|
+
}
|
|
88
|
+
code span.al { color: #ff0000; font-weight: bold; }
|
|
89
|
+
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; }
|
|
90
|
+
code span.at { color: #7d9029; }
|
|
91
|
+
code span.bn { color: #40a070; }
|
|
92
|
+
code span.bu { color: #008000; }
|
|
93
|
+
code span.cf { color: #007020; font-weight: bold; }
|
|
94
|
+
code span.ch { color: #4070a0; }
|
|
95
|
+
code span.cn { color: #880000; }
|
|
96
|
+
code span.co { color: #60a0b0; font-style: italic; }
|
|
97
|
+
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; }
|
|
98
|
+
code span.do { color: #ba2121; font-style: italic; }
|
|
99
|
+
code span.dt { color: #902000; }
|
|
100
|
+
code span.dv { color: #40a070; }
|
|
101
|
+
code span.er { color: #ff0000; font-weight: bold; }
|
|
102
|
+
code span.ex { }
|
|
103
|
+
code span.fl { color: #40a070; }
|
|
104
|
+
code span.fu { color: #06287e; }
|
|
105
|
+
code span.im { color: #008000; font-weight: bold; }
|
|
106
|
+
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; }
|
|
107
|
+
code span.kw { color: #007020; font-weight: bold; }
|
|
108
|
+
code span.op { color: #666666; }
|
|
109
|
+
code span.ot { color: #007020; }
|
|
110
|
+
code span.pp { color: #bc7a00; }
|
|
111
|
+
code span.sc { color: #4070a0; }
|
|
112
|
+
code span.ss { color: #bb6688; }
|
|
113
|
+
code span.st { color: #4070a0; }
|
|
114
|
+
code span.va { color: #19177c; }
|
|
115
|
+
code span.vs { color: #4070a0; }
|
|
116
|
+
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; }
|
|
117
|
+
</style>
|
|
118
|
+
<script>
|
|
119
|
+
// apply pandoc div.sourceCode style to pre.sourceCode instead
|
|
120
|
+
(function() {
|
|
121
|
+
var sheets = document.styleSheets;
|
|
122
|
+
for (var i = 0; i < sheets.length; i++) {
|
|
123
|
+
if (sheets[i].ownerNode.dataset["origin"] !== "pandoc") continue;
|
|
124
|
+
try { var rules = sheets[i].cssRules; } catch (e) { continue; }
|
|
125
|
+
var j = 0;
|
|
126
|
+
while (j < rules.length) {
|
|
127
|
+
var rule = rules[j];
|
|
128
|
+
// check if there is a div.sourceCode rule
|
|
129
|
+
if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") {
|
|
130
|
+
j++;
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
var style = rule.style.cssText;
|
|
134
|
+
// check if color or background-color is set
|
|
135
|
+
if (rule.style.color === '' && rule.style.backgroundColor === '') {
|
|
136
|
+
j++;
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
// replace div.sourceCode by a pre.sourceCode rule
|
|
140
|
+
sheets[i].deleteRule(j);
|
|
141
|
+
sheets[i].insertRule('pre.sourceCode{' + style + '}', j);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
})();
|
|
145
|
+
</script>
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
<style type="text/css">body {
|
|
151
|
+
background-color: #fff;
|
|
152
|
+
margin: 1em auto;
|
|
153
|
+
max-width: 700px;
|
|
154
|
+
overflow: visible;
|
|
155
|
+
padding-left: 2em;
|
|
156
|
+
padding-right: 2em;
|
|
157
|
+
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
158
|
+
font-size: 14px;
|
|
159
|
+
line-height: 1.35;
|
|
160
|
+
}
|
|
161
|
+
#TOC {
|
|
162
|
+
clear: both;
|
|
163
|
+
margin: 0 0 10px 10px;
|
|
164
|
+
padding: 4px;
|
|
165
|
+
width: 400px;
|
|
166
|
+
border: 1px solid #CCCCCC;
|
|
167
|
+
border-radius: 5px;
|
|
168
|
+
background-color: #f6f6f6;
|
|
169
|
+
font-size: 13px;
|
|
170
|
+
line-height: 1.3;
|
|
171
|
+
}
|
|
172
|
+
#TOC .toctitle {
|
|
173
|
+
font-weight: bold;
|
|
174
|
+
font-size: 15px;
|
|
175
|
+
margin-left: 5px;
|
|
176
|
+
}
|
|
177
|
+
#TOC ul {
|
|
178
|
+
padding-left: 40px;
|
|
179
|
+
margin-left: -1.5em;
|
|
180
|
+
margin-top: 5px;
|
|
181
|
+
margin-bottom: 5px;
|
|
182
|
+
}
|
|
183
|
+
#TOC ul ul {
|
|
184
|
+
margin-left: -2em;
|
|
185
|
+
}
|
|
186
|
+
#TOC li {
|
|
187
|
+
line-height: 16px;
|
|
188
|
+
}
|
|
189
|
+
table {
|
|
190
|
+
margin: 1em auto;
|
|
191
|
+
border-width: 1px;
|
|
192
|
+
border-color: #DDDDDD;
|
|
193
|
+
border-style: outset;
|
|
194
|
+
border-collapse: collapse;
|
|
195
|
+
}
|
|
196
|
+
table th {
|
|
197
|
+
border-width: 2px;
|
|
198
|
+
padding: 5px;
|
|
199
|
+
border-style: inset;
|
|
200
|
+
}
|
|
201
|
+
table td {
|
|
202
|
+
border-width: 1px;
|
|
203
|
+
border-style: inset;
|
|
204
|
+
line-height: 18px;
|
|
205
|
+
padding: 5px 5px;
|
|
206
|
+
}
|
|
207
|
+
table, table th, table td {
|
|
208
|
+
border-left-style: none;
|
|
209
|
+
border-right-style: none;
|
|
210
|
+
}
|
|
211
|
+
table thead, table tr.even {
|
|
212
|
+
background-color: #f7f7f7;
|
|
213
|
+
}
|
|
214
|
+
p {
|
|
215
|
+
margin: 0.5em 0;
|
|
216
|
+
}
|
|
217
|
+
blockquote {
|
|
218
|
+
background-color: #f6f6f6;
|
|
219
|
+
padding: 0.25em 0.75em;
|
|
220
|
+
}
|
|
221
|
+
hr {
|
|
222
|
+
border-style: solid;
|
|
223
|
+
border: none;
|
|
224
|
+
border-top: 1px solid #777;
|
|
225
|
+
margin: 28px 0;
|
|
226
|
+
}
|
|
227
|
+
dl {
|
|
228
|
+
margin-left: 0;
|
|
229
|
+
}
|
|
230
|
+
dl dd {
|
|
231
|
+
margin-bottom: 13px;
|
|
232
|
+
margin-left: 13px;
|
|
233
|
+
}
|
|
234
|
+
dl dt {
|
|
235
|
+
font-weight: bold;
|
|
236
|
+
}
|
|
237
|
+
ul {
|
|
238
|
+
margin-top: 0;
|
|
239
|
+
}
|
|
240
|
+
ul li {
|
|
241
|
+
list-style: circle outside;
|
|
242
|
+
}
|
|
243
|
+
ul ul {
|
|
244
|
+
margin-bottom: 0;
|
|
245
|
+
}
|
|
246
|
+
pre, code {
|
|
247
|
+
background-color: #f7f7f7;
|
|
248
|
+
border-radius: 3px;
|
|
249
|
+
color: #333;
|
|
250
|
+
white-space: pre-wrap;
|
|
251
|
+
}
|
|
252
|
+
pre {
|
|
253
|
+
border-radius: 3px;
|
|
254
|
+
margin: 5px 0px 10px 0px;
|
|
255
|
+
padding: 10px;
|
|
256
|
+
}
|
|
257
|
+
pre:not([class]) {
|
|
258
|
+
background-color: #f7f7f7;
|
|
259
|
+
}
|
|
260
|
+
code {
|
|
261
|
+
font-family: Consolas, Monaco, 'Courier New', monospace;
|
|
262
|
+
font-size: 85%;
|
|
263
|
+
}
|
|
264
|
+
p > code, li > code {
|
|
265
|
+
padding: 2px 0px;
|
|
266
|
+
}
|
|
267
|
+
div.figure {
|
|
268
|
+
text-align: center;
|
|
269
|
+
}
|
|
270
|
+
img {
|
|
271
|
+
background-color: #FFFFFF;
|
|
272
|
+
padding: 2px;
|
|
273
|
+
border: 1px solid #DDDDDD;
|
|
274
|
+
border-radius: 3px;
|
|
275
|
+
border: 1px solid #CCCCCC;
|
|
276
|
+
margin: 0 5px;
|
|
277
|
+
}
|
|
278
|
+
h1 {
|
|
279
|
+
margin-top: 0;
|
|
280
|
+
font-size: 35px;
|
|
281
|
+
line-height: 40px;
|
|
282
|
+
}
|
|
283
|
+
h2 {
|
|
284
|
+
border-bottom: 4px solid #f7f7f7;
|
|
285
|
+
padding-top: 10px;
|
|
286
|
+
padding-bottom: 2px;
|
|
287
|
+
font-size: 145%;
|
|
288
|
+
}
|
|
289
|
+
h3 {
|
|
290
|
+
border-bottom: 2px solid #f7f7f7;
|
|
291
|
+
padding-top: 10px;
|
|
292
|
+
font-size: 120%;
|
|
293
|
+
}
|
|
294
|
+
h4 {
|
|
295
|
+
border-bottom: 1px solid #f7f7f7;
|
|
296
|
+
margin-left: 8px;
|
|
297
|
+
font-size: 105%;
|
|
298
|
+
}
|
|
299
|
+
h5, h6 {
|
|
300
|
+
border-bottom: 1px solid #ccc;
|
|
301
|
+
font-size: 105%;
|
|
302
|
+
}
|
|
303
|
+
a {
|
|
304
|
+
color: #0033dd;
|
|
305
|
+
text-decoration: none;
|
|
306
|
+
}
|
|
307
|
+
a:hover {
|
|
308
|
+
color: #6666ff; }
|
|
309
|
+
a:visited {
|
|
310
|
+
color: #800080; }
|
|
311
|
+
a:visited:hover {
|
|
312
|
+
color: #BB00BB; }
|
|
313
|
+
a[href^="http:"] {
|
|
314
|
+
text-decoration: underline; }
|
|
315
|
+
a[href^="https:"] {
|
|
316
|
+
text-decoration: underline; }
|
|
317
|
+
|
|
318
|
+
code > span.kw { color: #555; font-weight: bold; }
|
|
319
|
+
code > span.dt { color: #902000; }
|
|
320
|
+
code > span.dv { color: #40a070; }
|
|
321
|
+
code > span.bn { color: #d14; }
|
|
322
|
+
code > span.fl { color: #d14; }
|
|
323
|
+
code > span.ch { color: #d14; }
|
|
324
|
+
code > span.st { color: #d14; }
|
|
325
|
+
code > span.co { color: #888888; font-style: italic; }
|
|
326
|
+
code > span.ot { color: #007020; }
|
|
327
|
+
code > span.al { color: #ff0000; font-weight: bold; }
|
|
328
|
+
code > span.fu { color: #900; font-weight: bold; }
|
|
329
|
+
code > span.er { color: #a61717; background-color: #e3d2d2; }
|
|
330
|
+
</style>
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
</head>
|
|
336
|
+
|
|
337
|
+
<body>
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
<h1 class="title toc-ignore">Using the plotcli R6 Class</h1>
|
|
343
|
+
<h4 class="author">Claas Heuer</h4>
|
|
344
|
+
<h4 class="date">2026-02-09</h4>
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
<div id="using-plotcli-r6-class" class="section level2">
|
|
349
|
+
<h2>Using plotcli R6 class</h2>
|
|
350
|
+
</div>
|
|
351
|
+
<div id="setting-up-a-scatter-plot-with-two-data-sets" class="section level1">
|
|
352
|
+
<h1>Setting up a scatter plot with two data sets</h1>
|
|
353
|
+
<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="#cb1-1" tabindex="-1"></a><span class="fu">library</span>(plotcli) </span>
|
|
354
|
+
<span id="cb1-2"><a href="#cb1-2" tabindex="-1"></a></span>
|
|
355
|
+
<span id="cb1-3"><a href="#cb1-3" tabindex="-1"></a>plot_width <span class="ot">=</span> <span class="dv">80</span></span>
|
|
356
|
+
<span id="cb1-4"><a href="#cb1-4" tabindex="-1"></a>plot_height <span class="ot">=</span> <span class="dv">40</span></span>
|
|
357
|
+
<span id="cb1-5"><a href="#cb1-5" tabindex="-1"></a></span>
|
|
358
|
+
<span id="cb1-6"><a href="#cb1-6" tabindex="-1"></a><span class="co"># Create some example data</span></span>
|
|
359
|
+
<span id="cb1-7"><a href="#cb1-7" tabindex="-1"></a>x <span class="ot"><-</span> <span class="fu">seq</span>(<span class="dv">0</span>, <span class="dv">2</span> <span class="sc">*</span> pi, <span class="at">length.out =</span> <span class="dv">100</span>)</span>
|
|
360
|
+
<span id="cb1-8"><a href="#cb1-8" tabindex="-1"></a>y1 <span class="ot"><-</span> <span class="fu">sin</span>(x)</span>
|
|
361
|
+
<span id="cb1-9"><a href="#cb1-9" tabindex="-1"></a>y2 <span class="ot"><-</span> <span class="fu">cos</span>(x)</span>
|
|
362
|
+
<span id="cb1-10"><a href="#cb1-10" tabindex="-1"></a></span>
|
|
363
|
+
<span id="cb1-11"><a href="#cb1-11" tabindex="-1"></a>data_1 <span class="ot">=</span> <span class="fu">list</span>(</span>
|
|
364
|
+
<span id="cb1-12"><a href="#cb1-12" tabindex="-1"></a> <span class="at">x =</span> x, </span>
|
|
365
|
+
<span id="cb1-13"><a href="#cb1-13" tabindex="-1"></a> <span class="at">y =</span> y1, </span>
|
|
366
|
+
<span id="cb1-14"><a href="#cb1-14" tabindex="-1"></a> <span class="at">name =</span> <span class="st">"y1 = sin(x)"</span>, </span>
|
|
367
|
+
<span id="cb1-15"><a href="#cb1-15" tabindex="-1"></a> <span class="at">color =</span> <span class="st">"blue"</span>,</span>
|
|
368
|
+
<span id="cb1-16"><a href="#cb1-16" tabindex="-1"></a> <span class="at">type =</span> <span class="st">"line"</span>,</span>
|
|
369
|
+
<span id="cb1-17"><a href="#cb1-17" tabindex="-1"></a> <span class="at">braille =</span> <span class="cn">FALSE</span></span>
|
|
370
|
+
<span id="cb1-18"><a href="#cb1-18" tabindex="-1"></a> )</span>
|
|
371
|
+
<span id="cb1-19"><a href="#cb1-19" tabindex="-1"></a></span>
|
|
372
|
+
<span id="cb1-20"><a href="#cb1-20" tabindex="-1"></a>data_2 <span class="ot">=</span> <span class="fu">list</span>(</span>
|
|
373
|
+
<span id="cb1-21"><a href="#cb1-21" tabindex="-1"></a> <span class="at">x =</span> x, </span>
|
|
374
|
+
<span id="cb1-22"><a href="#cb1-22" tabindex="-1"></a> <span class="at">y =</span> y2, </span>
|
|
375
|
+
<span id="cb1-23"><a href="#cb1-23" tabindex="-1"></a> <span class="at">name =</span> <span class="st">"y2 = cos(x)"</span>, </span>
|
|
376
|
+
<span id="cb1-24"><a href="#cb1-24" tabindex="-1"></a> <span class="at">color =</span> <span class="st">"red"</span>,</span>
|
|
377
|
+
<span id="cb1-25"><a href="#cb1-25" tabindex="-1"></a> <span class="at">type =</span> <span class="st">"line"</span>,</span>
|
|
378
|
+
<span id="cb1-26"><a href="#cb1-26" tabindex="-1"></a> <span class="at">braille =</span> <span class="cn">FALSE</span></span>
|
|
379
|
+
<span id="cb1-27"><a href="#cb1-27" tabindex="-1"></a> )</span>
|
|
380
|
+
<span id="cb1-28"><a href="#cb1-28" tabindex="-1"></a></span>
|
|
381
|
+
<span id="cb1-29"><a href="#cb1-29" tabindex="-1"></a><span class="co"># Create a plotcli object with specified dimensions</span></span>
|
|
382
|
+
<span id="cb1-30"><a href="#cb1-30" tabindex="-1"></a>plot <span class="ot"><-</span> plotcli<span class="sc">$</span><span class="fu">new</span>(</span>
|
|
383
|
+
<span id="cb1-31"><a href="#cb1-31" tabindex="-1"></a> <span class="at">plot_width =</span> plot_width, </span>
|
|
384
|
+
<span id="cb1-32"><a href="#cb1-32" tabindex="-1"></a> <span class="at">plot_height =</span> plot_height, </span>
|
|
385
|
+
<span id="cb1-33"><a href="#cb1-33" tabindex="-1"></a> <span class="at">x_label =</span> <span class="st">"X-axis"</span>, </span>
|
|
386
|
+
<span id="cb1-34"><a href="#cb1-34" tabindex="-1"></a> <span class="at">y_label =</span> <span class="st">"Y-axis"</span></span>
|
|
387
|
+
<span id="cb1-35"><a href="#cb1-35" tabindex="-1"></a> )</span>
|
|
388
|
+
<span id="cb1-36"><a href="#cb1-36" tabindex="-1"></a></span>
|
|
389
|
+
<span id="cb1-37"><a href="#cb1-37" tabindex="-1"></a><span class="co"># Add data sets to the plot</span></span>
|
|
390
|
+
<span id="cb1-38"><a href="#cb1-38" tabindex="-1"></a>plot<span class="sc">$</span><span class="fu">add_data</span>(data_1)</span>
|
|
391
|
+
<span id="cb1-39"><a href="#cb1-39" tabindex="-1"></a>plot<span class="sc">$</span><span class="fu">add_data</span>(data_2)</span>
|
|
392
|
+
<span id="cb1-40"><a href="#cb1-40" tabindex="-1"></a></span>
|
|
393
|
+
<span id="cb1-41"><a href="#cb1-41" tabindex="-1"></a><span class="co"># Print the plot</span></span>
|
|
394
|
+
<span id="cb1-42"><a href="#cb1-42" tabindex="-1"></a>plot<span class="sc">$</span><span class="fu">print_plot</span>()</span>
|
|
395
|
+
<span id="cb1-43"><a href="#cb1-43" tabindex="-1"></a><span class="co">#> </span></span>
|
|
396
|
+
<span id="cb1-44"><a href="#cb1-44" tabindex="-1"></a><span class="co">#> </span></span>
|
|
397
|
+
<span id="cb1-45"><a href="#cb1-45" tabindex="-1"></a><span class="co">#> ┌────────────────────────────────────────────────────────────────────────────────┐ </span></span>
|
|
398
|
+
<span id="cb1-46"><a href="#cb1-46" tabindex="-1"></a><span class="co">#> 1.0 │[31m*[39m[31m*[39m[31m*[39m[31m*[39m[31m*[39m[31m*[39m [34m*[39m[34m*[39m[34m*[39m[34m*[39m[34m*[39m[34m*[39m[34m*[39m[34m*[39m[34m*[39m[34m*[39m [31m*[39m[31m*[39m[31m*[39m[31m*[39m[31m*[39m│ </span></span>
|
|
399
|
+
<span id="cb1-47"><a href="#cb1-47" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m[34m*[39m [34m*[39m[34m*[39m [31m*[39m │ </span></span>
|
|
400
|
+
<span id="cb1-48"><a href="#cb1-48" tabindex="-1"></a><span class="co">#> │ [31m*[39m[31m*[39m [34m*[39m [34m*[39m [31m*[39m[31m*[39m │ </span></span>
|
|
401
|
+
<span id="cb1-49"><a href="#cb1-49" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m[34m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
402
|
+
<span id="cb1-50"><a href="#cb1-50" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
403
|
+
<span id="cb1-51"><a href="#cb1-51" tabindex="-1"></a><span class="co">#> │ [31m*[39m[31m*[39m [34m*[39m [31m*[39m[31m*[39m │ </span></span>
|
|
404
|
+
<span id="cb1-52"><a href="#cb1-52" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
405
|
+
<span id="cb1-53"><a href="#cb1-53" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
406
|
+
<span id="cb1-54"><a href="#cb1-54" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
407
|
+
<span id="cb1-55"><a href="#cb1-55" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
408
|
+
<span id="cb1-56"><a href="#cb1-56" tabindex="-1"></a><span class="co">#> 0.5 │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
409
|
+
<span id="cb1-57"><a href="#cb1-57" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
410
|
+
<span id="cb1-58"><a href="#cb1-58" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
411
|
+
<span id="cb1-59"><a href="#cb1-59" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
412
|
+
<span id="cb1-60"><a href="#cb1-60" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
413
|
+
<span id="cb1-61"><a href="#cb1-61" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
414
|
+
<span id="cb1-62"><a href="#cb1-62" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
415
|
+
<span id="cb1-63"><a href="#cb1-63" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ </span></span>
|
|
416
|
+
<span id="cb1-64"><a href="#cb1-64" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m*[39m [34m*[39m [31m*[39m │ [34my1 = sin(x)[39m </span></span>
|
|
417
|
+
<span id="cb1-65"><a href="#cb1-65" tabindex="-1"></a><span class="co">#> Y-axis 0.0 │[34m*[39m [31m*[39m [34m*[39m [31m*[39m [34m*[39m│ [31my2 = cos(x)[39m </span></span>
|
|
418
|
+
<span id="cb1-66"><a href="#cb1-66" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m│ </span></span>
|
|
419
|
+
<span id="cb1-67"><a href="#cb1-67" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
420
|
+
<span id="cb1-68"><a href="#cb1-68" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
421
|
+
<span id="cb1-69"><a href="#cb1-69" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
422
|
+
<span id="cb1-70"><a href="#cb1-70" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
423
|
+
<span id="cb1-71"><a href="#cb1-71" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
424
|
+
<span id="cb1-72"><a href="#cb1-72" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
425
|
+
<span id="cb1-73"><a href="#cb1-73" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
426
|
+
<span id="cb1-74"><a href="#cb1-74" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
427
|
+
<span id="cb1-75"><a href="#cb1-75" tabindex="-1"></a><span class="co">#> -0.5 │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
428
|
+
<span id="cb1-76"><a href="#cb1-76" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
429
|
+
<span id="cb1-77"><a href="#cb1-77" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
430
|
+
<span id="cb1-78"><a href="#cb1-78" tabindex="-1"></a><span class="co">#> │ [31m*[39m [34m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
431
|
+
<span id="cb1-79"><a href="#cb1-79" tabindex="-1"></a><span class="co">#> │ [31m*[39m [31m*[39m [34m*[39m │ </span></span>
|
|
432
|
+
<span id="cb1-80"><a href="#cb1-80" tabindex="-1"></a><span class="co">#> │ [31m*[39m [31m*[39m [34m*[39m [34m*[39m │ </span></span>
|
|
433
|
+
<span id="cb1-81"><a href="#cb1-81" tabindex="-1"></a><span class="co">#> │ [31m*[39m [31m*[39m [34m*[39m [34m*[39m[34m*[39m │ </span></span>
|
|
434
|
+
<span id="cb1-82"><a href="#cb1-82" tabindex="-1"></a><span class="co">#> │ [31m*[39m [31m*[39m [34m*[39m [34m*[39m │ </span></span>
|
|
435
|
+
<span id="cb1-83"><a href="#cb1-83" tabindex="-1"></a><span class="co">#> │ [31m*[39m[31m*[39m [31m*[39m[31m*[39m [34m*[39m[34m*[39m [34m*[39m[34m*[39m │ </span></span>
|
|
436
|
+
<span id="cb1-84"><a href="#cb1-84" tabindex="-1"></a><span class="co">#> │ [31m*[39m [31m*[39m [34m*[39m[34m*[39m [34m*[39m[34m*[39m[34m*[39m │ </span></span>
|
|
437
|
+
<span id="cb1-85"><a href="#cb1-85" tabindex="-1"></a><span class="co">#> -1.0 │ [31m*[39m[31m*[39m[31m*[39m[31m*[39m[31m*[39m[31m*[39m[31m*[39m [34m*[39m[34m*[39m[34m*[39m[34m*[39m[34m*[39m[34m*[39m │ </span></span>
|
|
438
|
+
<span id="cb1-86"><a href="#cb1-86" tabindex="-1"></a><span class="co">#> └────────────────────────────────────────────────────────────────────────────────┘ </span></span>
|
|
439
|
+
<span id="cb1-87"><a href="#cb1-87" tabindex="-1"></a><span class="co">#> </span></span>
|
|
440
|
+
<span id="cb1-88"><a href="#cb1-88" tabindex="-1"></a><span class="co">#> 0.0 1.6 3.1 4.7 6.3 </span></span>
|
|
441
|
+
<span id="cb1-89"><a href="#cb1-89" tabindex="-1"></a><span class="co">#> </span></span>
|
|
442
|
+
<span id="cb1-90"><a href="#cb1-90" tabindex="-1"></a><span class="co">#> X-axis </span></span>
|
|
443
|
+
<span id="cb1-91"><a href="#cb1-91" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
444
|
+
</div>
|
|
445
|
+
<div id="combining-ascii-and-braille-characters" class="section level1">
|
|
446
|
+
<h1>Combining Ascii and braille characters</h1>
|
|
447
|
+
<p>plotcli can use braille characters for plotting scatter and line
|
|
448
|
+
plots, which give a much higher resolution on supported terminals.
|
|
449
|
+
Whether to use braille or ascii characters can be specified for each
|
|
450
|
+
data set.</p>
|
|
451
|
+
<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1" tabindex="-1"></a><span class="fu">library</span>(plotcli) </span>
|
|
452
|
+
<span id="cb2-2"><a href="#cb2-2" tabindex="-1"></a></span>
|
|
453
|
+
<span id="cb2-3"><a href="#cb2-3" tabindex="-1"></a><span class="fu">data</span>(mtcars)</span>
|
|
454
|
+
<span id="cb2-4"><a href="#cb2-4" tabindex="-1"></a></span>
|
|
455
|
+
<span id="cb2-5"><a href="#cb2-5" tabindex="-1"></a><span class="co"># Fit a linear model</span></span>
|
|
456
|
+
<span id="cb2-6"><a href="#cb2-6" tabindex="-1"></a>lm_fit <span class="ot"><-</span> <span class="fu">lm</span>(wt <span class="sc">~</span> mpg, <span class="at">data =</span> mtcars)</span>
|
|
457
|
+
<span id="cb2-7"><a href="#cb2-7" tabindex="-1"></a></span>
|
|
458
|
+
<span id="cb2-8"><a href="#cb2-8" tabindex="-1"></a><span class="co"># Create a new dataset with the predicted values</span></span>
|
|
459
|
+
<span id="cb2-9"><a href="#cb2-9" tabindex="-1"></a>predicted_data <span class="ot"><-</span> <span class="fu">data.frame</span>(<span class="at">mpg =</span> mtcars<span class="sc">$</span>mpg, <span class="at">predicted_wt =</span> <span class="fu">predict</span>(lm_fit, mtcars))</span>
|
|
460
|
+
<span id="cb2-10"><a href="#cb2-10" tabindex="-1"></a></span>
|
|
461
|
+
<span id="cb2-11"><a href="#cb2-11" tabindex="-1"></a><span class="co"># we use braille characters for the regression line</span></span>
|
|
462
|
+
<span id="cb2-12"><a href="#cb2-12" tabindex="-1"></a>data_1 <span class="ot">=</span> <span class="fu">list</span>(</span>
|
|
463
|
+
<span id="cb2-13"><a href="#cb2-13" tabindex="-1"></a> <span class="at">x =</span> predicted_data<span class="sc">$</span>mpg, </span>
|
|
464
|
+
<span id="cb2-14"><a href="#cb2-14" tabindex="-1"></a> <span class="at">y =</span> predicted_data<span class="sc">$</span>predicted_wt, </span>
|
|
465
|
+
<span id="cb2-15"><a href="#cb2-15" tabindex="-1"></a> <span class="at">name =</span> <span class="st">"Regression Line"</span>, </span>
|
|
466
|
+
<span id="cb2-16"><a href="#cb2-16" tabindex="-1"></a> <span class="at">color =</span> <span class="st">"red"</span>,</span>
|
|
467
|
+
<span id="cb2-17"><a href="#cb2-17" tabindex="-1"></a> <span class="at">type =</span> <span class="st">"line"</span>,</span>
|
|
468
|
+
<span id="cb2-18"><a href="#cb2-18" tabindex="-1"></a> <span class="at">braille =</span> <span class="cn">TRUE</span></span>
|
|
469
|
+
<span id="cb2-19"><a href="#cb2-19" tabindex="-1"></a> )</span>
|
|
470
|
+
<span id="cb2-20"><a href="#cb2-20" tabindex="-1"></a></span>
|
|
471
|
+
<span id="cb2-21"><a href="#cb2-21" tabindex="-1"></a><span class="co"># and ascii characters for the raw data</span></span>
|
|
472
|
+
<span id="cb2-22"><a href="#cb2-22" tabindex="-1"></a>data_2 <span class="ot">=</span> <span class="fu">list</span>(</span>
|
|
473
|
+
<span id="cb2-23"><a href="#cb2-23" tabindex="-1"></a> <span class="at">x =</span> mtcars<span class="sc">$</span>mpg, </span>
|
|
474
|
+
<span id="cb2-24"><a href="#cb2-24" tabindex="-1"></a> <span class="at">y =</span> mtcars<span class="sc">$</span>wt, </span>
|
|
475
|
+
<span id="cb2-25"><a href="#cb2-25" tabindex="-1"></a> <span class="at">name =</span> <span class="st">"Data Points"</span>, </span>
|
|
476
|
+
<span id="cb2-26"><a href="#cb2-26" tabindex="-1"></a> <span class="at">color =</span> <span class="st">"blue"</span>,</span>
|
|
477
|
+
<span id="cb2-27"><a href="#cb2-27" tabindex="-1"></a> <span class="at">type =</span> <span class="st">"scatter"</span>,</span>
|
|
478
|
+
<span id="cb2-28"><a href="#cb2-28" tabindex="-1"></a> <span class="at">braille =</span> <span class="cn">FALSE</span></span>
|
|
479
|
+
<span id="cb2-29"><a href="#cb2-29" tabindex="-1"></a> )</span>
|
|
480
|
+
<span id="cb2-30"><a href="#cb2-30" tabindex="-1"></a></span>
|
|
481
|
+
<span id="cb2-31"><a href="#cb2-31" tabindex="-1"></a><span class="co"># Create a plotcli object</span></span>
|
|
482
|
+
<span id="cb2-32"><a href="#cb2-32" tabindex="-1"></a>plot_width <span class="ot">=</span> <span class="dv">80</span></span>
|
|
483
|
+
<span id="cb2-33"><a href="#cb2-33" tabindex="-1"></a>plot_height <span class="ot">=</span> <span class="dv">40</span></span>
|
|
484
|
+
<span id="cb2-34"><a href="#cb2-34" tabindex="-1"></a>plot_obj <span class="ot"><-</span> plotcli<span class="sc">$</span><span class="fu">new</span>(</span>
|
|
485
|
+
<span id="cb2-35"><a href="#cb2-35" tabindex="-1"></a> plot_width, </span>
|
|
486
|
+
<span id="cb2-36"><a href="#cb2-36" tabindex="-1"></a> plot_height, </span>
|
|
487
|
+
<span id="cb2-37"><a href="#cb2-37" tabindex="-1"></a> <span class="at">x_label =</span> <span class="st">"Miles per Gallon"</span>, </span>
|
|
488
|
+
<span id="cb2-38"><a href="#cb2-38" tabindex="-1"></a> <span class="at">y_label =</span> <span class="st">"Weight"</span></span>
|
|
489
|
+
<span id="cb2-39"><a href="#cb2-39" tabindex="-1"></a> )</span>
|
|
490
|
+
<span id="cb2-40"><a href="#cb2-40" tabindex="-1"></a></span>
|
|
491
|
+
<span id="cb2-41"><a href="#cb2-41" tabindex="-1"></a><span class="co"># Add raw data and regression line</span></span>
|
|
492
|
+
<span id="cb2-42"><a href="#cb2-42" tabindex="-1"></a>plot_obj<span class="sc">$</span><span class="fu">add_data</span>(data_1)</span>
|
|
493
|
+
<span id="cb2-43"><a href="#cb2-43" tabindex="-1"></a>plot_obj<span class="sc">$</span><span class="fu">add_data</span>(data_2)</span>
|
|
494
|
+
<span id="cb2-44"><a href="#cb2-44" tabindex="-1"></a></span>
|
|
495
|
+
<span id="cb2-45"><a href="#cb2-45" tabindex="-1"></a><span class="co"># Print the plot</span></span>
|
|
496
|
+
<span id="cb2-46"><a href="#cb2-46" tabindex="-1"></a>plot_obj<span class="sc">$</span><span class="fu">print_plot</span>()</span>
|
|
497
|
+
<span id="cb2-47"><a href="#cb2-47" tabindex="-1"></a><span class="co">#> </span></span>
|
|
498
|
+
<span id="cb2-48"><a href="#cb2-48" tabindex="-1"></a><span class="co">#> </span></span>
|
|
499
|
+
<span id="cb2-49"><a href="#cb2-49" tabindex="-1"></a><span class="co">#> ┌────────────────────────────────────────────────────────────────────────────────┐ </span></span>
|
|
500
|
+
<span id="cb2-50"><a href="#cb2-50" tabindex="-1"></a><span class="co">#> 5.4 │[34m*[39m [34m*[39m │ </span></span>
|
|
501
|
+
<span id="cb2-51"><a href="#cb2-51" tabindex="-1"></a><span class="co">#> │[34m*[39m │ </span></span>
|
|
502
|
+
<span id="cb2-52"><a href="#cb2-52" tabindex="-1"></a><span class="co">#> │ │ </span></span>
|
|
503
|
+
<span id="cb2-53"><a href="#cb2-53" tabindex="-1"></a><span class="co">#> │ │ </span></span>
|
|
504
|
+
<span id="cb2-54"><a href="#cb2-54" tabindex="-1"></a><span class="co">#> │ │ </span></span>
|
|
505
|
+
<span id="cb2-55"><a href="#cb2-55" tabindex="-1"></a><span class="co">#> │ │ </span></span>
|
|
506
|
+
<span id="cb2-56"><a href="#cb2-56" tabindex="-1"></a><span class="co">#> │ │ </span></span>
|
|
507
|
+
<span id="cb2-57"><a href="#cb2-57" tabindex="-1"></a><span class="co">#> │[31m⡀[39m │ </span></span>
|
|
508
|
+
<span id="cb2-58"><a href="#cb2-58" tabindex="-1"></a><span class="co">#> │[31m⠈[39m[31m⠒[39m[31m⢄[39m │ </span></span>
|
|
509
|
+
<span id="cb2-59"><a href="#cb2-59" tabindex="-1"></a><span class="co">#> │ [31m⠑[39m[31m⠦[39m[31m⡀[39m │ </span></span>
|
|
510
|
+
<span id="cb2-60"><a href="#cb2-60" tabindex="-1"></a><span class="co">#> 4.4 │ [31m⠈[39m[31m⠳[39m[31m⣄[39m │ </span></span>
|
|
511
|
+
<span id="cb2-61"><a href="#cb2-61" tabindex="-1"></a><span class="co">#> │ [31m⠙[39m[31m⢦[39m[31m⡀[39m │ </span></span>
|
|
512
|
+
<span id="cb2-62"><a href="#cb2-62" tabindex="-1"></a><span class="co">#> │ [31m⠉[39m[31m⠳[39m[31m⣄[39m[31m⡀[39m [34m*[39m │ </span></span>
|
|
513
|
+
<span id="cb2-63"><a href="#cb2-63" tabindex="-1"></a><span class="co">#> │ [31m⠈[39m[31m⠛[39m[31m⢦[39m[31m⣀[39m │ </span></span>
|
|
514
|
+
<span id="cb2-64"><a href="#cb2-64" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m⠙[39m[31m⠳[39m[31m⣄[39m [34m*[39m │ </span></span>
|
|
515
|
+
<span id="cb2-65"><a href="#cb2-65" tabindex="-1"></a><span class="co">#> │ [34m*[39m[31m⠈[39m[31m⠛[39m[31m⢦[39m[31m⡀[39m [34m*[39m │ </span></span>
|
|
516
|
+
<span id="cb2-66"><a href="#cb2-66" tabindex="-1"></a><span class="co">#> │ [31m⠙[39m[31m⠲[39m[31m⣄[39m │ </span></span>
|
|
517
|
+
<span id="cb2-67"><a href="#cb2-67" tabindex="-1"></a><span class="co">#> │ [34m*[39m [34m*[39m[34m*[39m [31m⠈[39m[31m⠑[39m[31m⢦[39m[31m⡀[39m │ </span></span>
|
|
518
|
+
<span id="cb2-68"><a href="#cb2-68" tabindex="-1"></a><span class="co">#> │ [34m*[39m [34m*[39m[34m*[39m[31m⣄[39m[34m*[39m [34m*[39m │ [31mRegression Line[39m </span></span>
|
|
519
|
+
<span id="cb2-69"><a href="#cb2-69" tabindex="-1"></a><span class="co">#> Weight 3.3 │ [31m⠈[39m[31m⠙[39m[31m⢦[39m[31m⣀[39m │ [34mData Points[39m </span></span>
|
|
520
|
+
<span id="cb2-70"><a href="#cb2-70" tabindex="-1"></a><span class="co">#> │ [31m⠉[39m[31m⠳[39m[31m⣄[39m [34m*[39m │ </span></span>
|
|
521
|
+
<span id="cb2-71"><a href="#cb2-71" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m⠈[39m[31m⠙[39m[31m⢦[39m[31m⡀[39m [34m*[39m [34m*[39m │ </span></span>
|
|
522
|
+
<span id="cb2-72"><a href="#cb2-72" tabindex="-1"></a><span class="co">#> │ [31m⠉[39m[31m⠲[39m[31m⣄[39m │ </span></span>
|
|
523
|
+
<span id="cb2-73"><a href="#cb2-73" tabindex="-1"></a><span class="co">#> │ [31m⠈[39m[31m⠑[39m[31m⢦[39m[31m⡀[39m │ </span></span>
|
|
524
|
+
<span id="cb2-74"><a href="#cb2-74" tabindex="-1"></a><span class="co">#> │ [34m*[39m[34m*[39m [31m⠙[39m[31m⠲[39m[31m⣄[39m │ </span></span>
|
|
525
|
+
<span id="cb2-75"><a href="#cb2-75" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m⠈[39m[31m⠑[39m[31m⢦[39m[31m⡀[39m │ </span></span>
|
|
526
|
+
<span id="cb2-76"><a href="#cb2-76" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m⠈[39m[31m⠲[39m[31m⣄[39m │ </span></span>
|
|
527
|
+
<span id="cb2-77"><a href="#cb2-77" tabindex="-1"></a><span class="co">#> │ [31m⠑[39m[31m⢦[39m[31m⡀[39m │ </span></span>
|
|
528
|
+
<span id="cb2-78"><a href="#cb2-78" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m⠈[39m[31m⠲[39m[31m⣄[39m │ </span></span>
|
|
529
|
+
<span id="cb2-79"><a href="#cb2-79" tabindex="-1"></a><span class="co">#> 2.3 │ [34m*[39m [31m⠑[39m[31m⢦[39m[31m⡀[39m │ </span></span>
|
|
530
|
+
<span id="cb2-80"><a href="#cb2-80" tabindex="-1"></a><span class="co">#> │ [31m⠈[39m[31m⠲[39m[31m⣄[39m [34m*[39m │ </span></span>
|
|
531
|
+
<span id="cb2-81"><a href="#cb2-81" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m⠑[39m[31m⢤[39m[31m⡀[39m │ </span></span>
|
|
532
|
+
<span id="cb2-82"><a href="#cb2-82" tabindex="-1"></a><span class="co">#> │ [31m⠉[39m[31m⠢[39m[31m⣄[39m │ </span></span>
|
|
533
|
+
<span id="cb2-83"><a href="#cb2-83" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m⠈[39m[31m⠑[39m[31m⢤[39m[31m⡀[39m │ </span></span>
|
|
534
|
+
<span id="cb2-84"><a href="#cb2-84" tabindex="-1"></a><span class="co">#> │ [31m⠉[39m[31m⠢[39m[31m⣄[39m [34m*[39m│ </span></span>
|
|
535
|
+
<span id="cb2-85"><a href="#cb2-85" tabindex="-1"></a><span class="co">#> │ [31m⠈[39m[31m⠑[39m[31m⢦[39m[31m⡀[39m │ </span></span>
|
|
536
|
+
<span id="cb2-86"><a href="#cb2-86" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m⠉[39m[31m⠲[39m[31m⣄[39m │ </span></span>
|
|
537
|
+
<span id="cb2-87"><a href="#cb2-87" tabindex="-1"></a><span class="co">#> │ [34m*[39m [31m⠈[39m[31m⠓[39m[31m⢦[39m[31m⡀[39m │ </span></span>
|
|
538
|
+
<span id="cb2-88"><a href="#cb2-88" tabindex="-1"></a><span class="co">#> │ [31m⠙[39m[31m⠢[39m[31m⡀[39m │ </span></span>
|
|
539
|
+
<span id="cb2-89"><a href="#cb2-89" tabindex="-1"></a><span class="co">#> 1.3 │ [31m⠈[39m[31m⠒[39m[31m⢄[39m│ </span></span>
|
|
540
|
+
<span id="cb2-90"><a href="#cb2-90" tabindex="-1"></a><span class="co">#> └────────────────────────────────────────────────────────────────────────────────┘ </span></span>
|
|
541
|
+
<span id="cb2-91"><a href="#cb2-91" tabindex="-1"></a><span class="co">#> </span></span>
|
|
542
|
+
<span id="cb2-92"><a href="#cb2-92" tabindex="-1"></a><span class="co">#> 10.4 16.3 22.1 28.0 33.9 </span></span>
|
|
543
|
+
<span id="cb2-93"><a href="#cb2-93" tabindex="-1"></a><span class="co">#> </span></span>
|
|
544
|
+
<span id="cb2-94"><a href="#cb2-94" tabindex="-1"></a><span class="co">#> Miles per Gallon </span></span>
|
|
545
|
+
<span id="cb2-95"><a href="#cb2-95" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
546
|
+
</div>
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
<!-- code folding -->
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
<!-- dynamically load mathjax for compatibility with self-contained -->
|
|
554
|
+
<script>
|
|
555
|
+
(function () {
|
|
556
|
+
var script = document.createElement("script");
|
|
557
|
+
script.type = "text/javascript";
|
|
558
|
+
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
|
|
559
|
+
document.getElementsByTagName("head")[0].appendChild(script);
|
|
560
|
+
})();
|
|
561
|
+
</script>
|
|
562
|
+
|
|
563
|
+
</body>
|
|
564
|
+
</html>
|