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,1078 @@
|
|
|
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>ggplotcli: Universal ggplot2 to Terminal Plotting</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">ggplotcli: Universal ggplot2 to Terminal
|
|
343
|
+
Plotting</h1>
|
|
344
|
+
<h4 class="author">Claas Heuer</h4>
|
|
345
|
+
<h4 class="date">2026-02-09</h4>
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
<div id="introduction" class="section level2">
|
|
350
|
+
<h2>Introduction</h2>
|
|
351
|
+
<p><code>ggplotcli</code> is a universal converter that renders any
|
|
352
|
+
ggplot2 plot in the terminal using Unicode/ASCII characters. It
|
|
353
|
+
automatically extracts data, aesthetics, and styling from ggplot
|
|
354
|
+
objects, supporting 15+ geom types, faceting, color aesthetics, and
|
|
355
|
+
legends.</p>
|
|
356
|
+
</div>
|
|
357
|
+
<div id="basic-usage" class="section level2">
|
|
358
|
+
<h2>Basic Usage</h2>
|
|
359
|
+
<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>
|
|
360
|
+
<span id="cb1-2"><a href="#cb1-2" tabindex="-1"></a><span class="co">#> Loading required package: R6</span></span>
|
|
361
|
+
<span id="cb1-3"><a href="#cb1-3" tabindex="-1"></a><span class="co">#> Loading required package: ggplot2</span></span>
|
|
362
|
+
<span id="cb1-4"><a href="#cb1-4" tabindex="-1"></a><span class="co">#> plotcli loaded. Use plotcli_options() to set global options.</span></span>
|
|
363
|
+
<span id="cb1-5"><a href="#cb1-5" tabindex="-1"></a><span class="fu">library</span>(ggplot2)</span>
|
|
364
|
+
<span id="cb1-6"><a href="#cb1-6" tabindex="-1"></a></span>
|
|
365
|
+
<span id="cb1-7"><a href="#cb1-7" tabindex="-1"></a><span class="co"># Create a ggplot</span></span>
|
|
366
|
+
<span id="cb1-8"><a href="#cb1-8" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(mtcars, <span class="fu">aes</span>(<span class="at">x =</span> wt, <span class="at">y =</span> mpg, <span class="at">color =</span> <span class="fu">factor</span>(cyl))) <span class="sc">+</span></span>
|
|
367
|
+
<span id="cb1-9"><a href="#cb1-9" tabindex="-1"></a> <span class="fu">geom_point</span>() <span class="sc">+</span></span>
|
|
368
|
+
<span id="cb1-10"><a href="#cb1-10" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"MPG vs Weight by Cylinders"</span>)</span>
|
|
369
|
+
<span id="cb1-11"><a href="#cb1-11" tabindex="-1"></a></span>
|
|
370
|
+
<span id="cb1-12"><a href="#cb1-12" tabindex="-1"></a><span class="co"># Render in terminal</span></span>
|
|
371
|
+
<span id="cb1-13"><a href="#cb1-13" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">60</span>, <span class="at">height =</span> <span class="dv">16</span>)</span>
|
|
372
|
+
<span id="cb1-14"><a href="#cb1-14" tabindex="-1"></a><span class="co">#> </span></span>
|
|
373
|
+
<span id="cb1-15"><a href="#cb1-15" tabindex="-1"></a><span class="co">#> MPG vs Weight by Cylinders </span></span>
|
|
374
|
+
<span id="cb1-16"><a href="#cb1-16" tabindex="-1"></a><span class="co">#> 35.0 [31m⠄[39m </span></span>
|
|
375
|
+
<span id="cb1-17"><a href="#cb1-17" tabindex="-1"></a><span class="co">#> [31m⠐[39m </span></span>
|
|
376
|
+
<span id="cb1-18"><a href="#cb1-18" tabindex="-1"></a><span class="co">#> 30.0 [31m⠐[39m[31m⠐[39m </span></span>
|
|
377
|
+
<span id="cb1-19"><a href="#cb1-19" tabindex="-1"></a><span class="co">#> [31m⠠[39m factor(cyl) </span></span>
|
|
378
|
+
<span id="cb1-20"><a href="#cb1-20" tabindex="-1"></a><span class="co">#> m 25.0 [31m⠁[39m [31m⢀[39m [31m*[39m 4 </span></span>
|
|
379
|
+
<span id="cb1-21"><a href="#cb1-21" tabindex="-1"></a><span class="co">#> p [31m⠄[39m [31m⠄[39m [36m*[39m 6 </span></span>
|
|
380
|
+
<span id="cb1-22"><a href="#cb1-22" tabindex="-1"></a><span class="co">#> g 20.0 [31m⠐[39m [36m⠠[39m [31m⠐[39m[36m⠠[39m [36m⠐[39m [35m*[39m 8 </span></span>
|
|
381
|
+
<span id="cb1-23"><a href="#cb1-23" tabindex="-1"></a><span class="co">#> [36m⠈[39m [36m⢰[39m [35m⠐[39m </span></span>
|
|
382
|
+
<span id="cb1-24"><a href="#cb1-24" tabindex="-1"></a><span class="co">#> [35m⡀[39m [35m⠁[39m [35m⠄[39m </span></span>
|
|
383
|
+
<span id="cb1-25"><a href="#cb1-25" tabindex="-1"></a><span class="co">#> 15.0 [35m⠈[39m[35m⠈[39m[35m⠆[39m [35m⠈[39m [35m⠂[39m </span></span>
|
|
384
|
+
<span id="cb1-26"><a href="#cb1-26" tabindex="-1"></a><span class="co">#> [35m⠁[39m </span></span>
|
|
385
|
+
<span id="cb1-27"><a href="#cb1-27" tabindex="-1"></a><span class="co">#> 10.0 [35m⠂[39m [35m⠂[39m </span></span>
|
|
386
|
+
<span id="cb1-28"><a href="#cb1-28" tabindex="-1"></a><span class="co">#> 2.0 3.0 4.0 5.0 </span></span>
|
|
387
|
+
<span id="cb1-29"><a href="#cb1-29" tabindex="-1"></a><span class="co">#> wt </span></span>
|
|
388
|
+
<span id="cb1-30"><a href="#cb1-30" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
389
|
+
</div>
|
|
390
|
+
<div id="supported-geoms" class="section level2">
|
|
391
|
+
<h2>Supported Geoms</h2>
|
|
392
|
+
<div id="scatter-plots-geom_point" class="section level3">
|
|
393
|
+
<h3>Scatter Plots (geom_point)</h3>
|
|
394
|
+
<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(iris, <span class="fu">aes</span>(<span class="at">x =</span> Sepal.Length, <span class="at">y =</span> Sepal.Width, <span class="at">color =</span> Species)) <span class="sc">+</span></span>
|
|
395
|
+
<span id="cb2-2"><a href="#cb2-2" tabindex="-1"></a> <span class="fu">geom_point</span>() <span class="sc">+</span></span>
|
|
396
|
+
<span id="cb2-3"><a href="#cb2-3" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Iris: Sepal Dimensions by Species"</span>)</span>
|
|
397
|
+
<span id="cb2-4"><a href="#cb2-4" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">60</span>, <span class="at">height =</span> <span class="dv">16</span>)</span>
|
|
398
|
+
<span id="cb2-5"><a href="#cb2-5" tabindex="-1"></a><span class="co">#> </span></span>
|
|
399
|
+
<span id="cb2-6"><a href="#cb2-6" tabindex="-1"></a><span class="co">#> Iris: Sepal Dimensions by Species </span></span>
|
|
400
|
+
<span id="cb2-7"><a href="#cb2-7" tabindex="-1"></a><span class="co">#> S 4.5 [31m⠠[39m </span></span>
|
|
401
|
+
<span id="cb2-8"><a href="#cb2-8" tabindex="-1"></a><span class="co">#> e [31m⡀[39m [31m⠄[39m </span></span>
|
|
402
|
+
<span id="cb2-9"><a href="#cb2-9" tabindex="-1"></a><span class="co">#> p 4.0 [31m⢀[39m [31m⠂[39m </span></span>
|
|
403
|
+
<span id="cb2-10"><a href="#cb2-10" tabindex="-1"></a><span class="co">#> a [31m⢐[39m [31m⢀[39m[31m⢀[39m [31m⠐[39m [35m⠐[39m [35m⠂[39m Species </span></span>
|
|
404
|
+
<span id="cb2-11"><a href="#cb2-11" tabindex="-1"></a><span class="co">#> l 3.5 [31m⠁[39m [31m⠁[39m[31m⠨[39m[31m⠠[39m [31m⠄[39m [31m⠄[39m [35m⠁[39m [31m*[39m setosa </span></span>
|
|
405
|
+
<span id="cb2-12"><a href="#cb2-12" tabindex="-1"></a><span class="co">#> . [31m⢀[39m [31m⡁[39m[31m⢀[39m [31m⠁[39m [31m⢨[39m[31m⠨[39m [31m⠁[39m [31m⠈[39m [36m⡀[39m[36m⠈[39m [35m⠁[39m[35m⠨[39m[35m⢀[39m [35m⡀[39m [35m⠠[39m [35m⡀[39m[35m⡀[39m[36m⢀[39m [35m⡀[39m [36m*[39m versicolor </span></span>
|
|
406
|
+
<span id="cb2-13"><a href="#cb2-13" tabindex="-1"></a><span class="co">#> W 3.0 [31m⢀[39m[31m⢀[39m [31m⠂[39m [31m⡂[39m[31m⡂[39m[31m⢀[39m [36m⢀[39m [36m⡀[39m[36m⢀[39m [35m⡀[39m[35m⢀[39m[35m⢀[39m [35m⠐[39m [35m⡀[39m[36m⢀[39m[35m⢐[39m [35m⡀[39m[35m⠂[39m [35m⡀[39m[35m⡀[39m [35m⢀[39m[35m⢀[39m [35m*[39m virginica </span></span>
|
|
407
|
+
<span id="cb2-14"><a href="#cb2-14" tabindex="-1"></a><span class="co">#> i [31m⠐[39m [35m⡂[39m[36m⢐[39m [35m⡀[39m [36m⠐[39m[36m⢐[39m [35m⡂[39m[35m⢐[39m[35m⢐[39m [36m⡀[39m[36m⠐[39m [36m⡀[39m [35m⠐[39m[35m⢀[39m [35m⢀[39m </span></span>
|
|
408
|
+
<span id="cb2-15"><a href="#cb2-15" tabindex="-1"></a><span class="co">#> d 2.5 [36m⠁[39m [36m⠄[39m[36m⠁[39m[36m⠠[39m [35m⠅[39m [36m⠈[39m[35m⠠[39m [35m⠈[39m[35m⠈[39m [35m⠠[39m </span></span>
|
|
409
|
+
<span id="cb2-16"><a href="#cb2-16" tabindex="-1"></a><span class="co">#> t [35m⠅[39m [36m⠈[39m [36m⠅[39m[36m⠁[39m[35m⠈[39m [35m⠈[39m [35m⠈[39m </span></span>
|
|
410
|
+
<span id="cb2-17"><a href="#cb2-17" tabindex="-1"></a><span class="co">#> h [31m⠁[39m [36m⠈[39m [36m⠁[39m [35m⠐[39m [36m⠂[39m[36m⠈[39m </span></span>
|
|
411
|
+
<span id="cb2-18"><a href="#cb2-18" tabindex="-1"></a><span class="co">#> 2.0 [36m⠐[39m </span></span>
|
|
412
|
+
<span id="cb2-19"><a href="#cb2-19" tabindex="-1"></a><span class="co">#> 5.0 6.0 7.0 8.0 </span></span>
|
|
413
|
+
<span id="cb2-20"><a href="#cb2-20" tabindex="-1"></a><span class="co">#> Sepal.Length </span></span>
|
|
414
|
+
<span id="cb2-21"><a href="#cb2-21" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
415
|
+
</div>
|
|
416
|
+
<div id="line-plots-geom_line" class="section level3">
|
|
417
|
+
<h3>Line Plots (geom_line)</h3>
|
|
418
|
+
<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb3-1"><a href="#cb3-1" tabindex="-1"></a><span class="co"># Multiple colored lines</span></span>
|
|
419
|
+
<span id="cb3-2"><a href="#cb3-2" tabindex="-1"></a>df <span class="ot"><-</span> <span class="fu">data.frame</span>(</span>
|
|
420
|
+
<span id="cb3-3"><a href="#cb3-3" tabindex="-1"></a> <span class="at">x =</span> <span class="fu">rep</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">30</span>, <span class="dv">2</span>),</span>
|
|
421
|
+
<span id="cb3-4"><a href="#cb3-4" tabindex="-1"></a> <span class="at">y =</span> <span class="fu">c</span>(<span class="fu">sin</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">30</span><span class="sc">/</span><span class="dv">4</span>) <span class="sc">*</span> <span class="dv">10</span>, <span class="fu">cos</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">30</span><span class="sc">/</span><span class="dv">4</span>) <span class="sc">*</span> <span class="dv">10</span>),</span>
|
|
422
|
+
<span id="cb3-5"><a href="#cb3-5" tabindex="-1"></a> <span class="at">type =</span> <span class="fu">rep</span>(<span class="fu">c</span>(<span class="st">"sin"</span>, <span class="st">"cos"</span>), <span class="at">each =</span> <span class="dv">30</span>)</span>
|
|
423
|
+
<span id="cb3-6"><a href="#cb3-6" tabindex="-1"></a>)</span>
|
|
424
|
+
<span id="cb3-7"><a href="#cb3-7" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(df, <span class="fu">aes</span>(x, y, <span class="at">color =</span> type)) <span class="sc">+</span></span>
|
|
425
|
+
<span id="cb3-8"><a href="#cb3-8" tabindex="-1"></a> <span class="fu">geom_line</span>() <span class="sc">+</span></span>
|
|
426
|
+
<span id="cb3-9"><a href="#cb3-9" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Sine and Cosine Waves"</span>)</span>
|
|
427
|
+
<span id="cb3-10"><a href="#cb3-10" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">60</span>, <span class="at">height =</span> <span class="dv">12</span>)</span>
|
|
428
|
+
<span id="cb3-11"><a href="#cb3-11" tabindex="-1"></a><span class="co">#> </span></span>
|
|
429
|
+
<span id="cb3-12"><a href="#cb3-12" tabindex="-1"></a><span class="co">#> Sine and Cosine Waves </span></span>
|
|
430
|
+
<span id="cb3-13"><a href="#cb3-13" tabindex="-1"></a><span class="co">#> 10.0 [31m⠠[39m[31m⢄[39m[31m⡀[39m [35m⣀[39m[35m⠤[39m[35m⠒[39m[35m⠢[39m[35m⠤[39m[35m⣀[39m[35m⡀[39m [31m⣀[39m[31m⠤[39m[31m⠔[39m[31m⠒[39m[31m⠤[39m[31m⠤[39m[31m⣀[39m [35m⣀[39m[35m⠄[39m </span></span>
|
|
431
|
+
<span id="cb3-14"><a href="#cb3-14" tabindex="-1"></a><span class="co">#> [31m⠈[39m[35m⡱[39m[35m⢖[39m[35m⠉[39m [35m⠈[39m[35m⠑[39m[35m⠤[39m[35m⡀[39m [31m⣀[39m[31m⠔[39m[31m⠊[39m [35m⢉[39m[35m⠶[39m[35m⢎[39m type </span></span>
|
|
432
|
+
<span id="cb3-15"><a href="#cb3-15" tabindex="-1"></a><span class="co">#> 5.0 [35m⡠[39m[35m⠊[39m [31m⠑[39m[31m⠢[39m[31m⡀[39m [35m⠈[39m[35m⠢[39m[35m⡀[39m [31m⢠[39m[31m⠊[39m [35m⣀[39m[35m⠔[39m[35m⠁[39m [31m⠣[39m[31m⡀[39m [31m*[39m cos </span></span>
|
|
433
|
+
<span id="cb3-16"><a href="#cb3-16" tabindex="-1"></a><span class="co">#> y [35m⠈[39m [31m⠘[39m[31m⢄[39m [35m⠑[39m[35m⢄[39m [31m⢀[39m[31m⠔[39m[31m⠁[39m [35m⢠[39m[35m⠊[39m [35m*[39m sin </span></span>
|
|
434
|
+
<span id="cb3-17"><a href="#cb3-17" tabindex="-1"></a><span class="co">#> 0 [31m⠑[39m[31m⢄[39m [35m⠑[39m[35m⠤[39m[35m⡀[39m [31m⢀[39m[31m⠔[39m[31m⠁[39m [35m⢀[39m[35m⠔[39m[35m⠁[39m </span></span>
|
|
435
|
+
<span id="cb3-18"><a href="#cb3-18" tabindex="-1"></a><span class="co">#> -5.0 [31m⠑[39m[31m⠤[39m[31m⡀[39m [35m⠈[39m[35m⢆[39m [31m⢀[39m[31m⠔[39m[31m⠁[39m [35m⡰[39m[35m⠁[39m </span></span>
|
|
436
|
+
<span id="cb3-19"><a href="#cb3-19" tabindex="-1"></a><span class="co">#> [31m⠈[39m[31m⠢[39m[31m⡀[39m [35m⡱[39m[35m⠶[39m[35m⣁[39m [35m⡠[39m[35m⠒[39m[35m⠉[39m </span></span>
|
|
437
|
+
<span id="cb3-20"><a href="#cb3-20" tabindex="-1"></a><span class="co">#> -10.0 [31m⠈[39m[31m⠑[39m[31m⠒[39m[31m⠒[39m[31m⠤[39m[31m⠤[39m[31m⠒[39m[31m⠉[39m [35m⠉[39m[35m⠑[39m[35m⠒[39m[35m⠤[39m[35m⠔[39m[35m⠒[39m[35m⠉[39m </span></span>
|
|
438
|
+
<span id="cb3-21"><a href="#cb3-21" tabindex="-1"></a><span class="co">#> 0 5.0 10.0 15.0 20.0 25.0 30.0 </span></span>
|
|
439
|
+
<span id="cb3-22"><a href="#cb3-22" tabindex="-1"></a><span class="co">#> x </span></span>
|
|
440
|
+
<span id="cb3-23"><a href="#cb3-23" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
441
|
+
</div>
|
|
442
|
+
<div id="histograms-geom_histogram" class="section level3">
|
|
443
|
+
<h3>Histograms (geom_histogram)</h3>
|
|
444
|
+
<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="#cb4-1" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(mtcars, <span class="fu">aes</span>(<span class="at">x =</span> mpg, <span class="at">fill =</span> <span class="fu">factor</span>(cyl))) <span class="sc">+</span></span>
|
|
445
|
+
<span id="cb4-2"><a href="#cb4-2" tabindex="-1"></a> <span class="fu">geom_histogram</span>(<span class="at">bins =</span> <span class="dv">10</span>, <span class="at">position =</span> <span class="st">"dodge"</span>) <span class="sc">+</span></span>
|
|
446
|
+
<span id="cb4-3"><a href="#cb4-3" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"MPG Distribution by Cylinders"</span>)</span>
|
|
447
|
+
<span id="cb4-4"><a href="#cb4-4" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">60</span>, <span class="at">height =</span> <span class="dv">12</span>)</span>
|
|
448
|
+
<span id="cb4-5"><a href="#cb4-5" tabindex="-1"></a><span class="co">#> </span></span>
|
|
449
|
+
<span id="cb4-6"><a href="#cb4-6" tabindex="-1"></a><span class="co">#> MPG Distribution by Cylinders </span></span>
|
|
450
|
+
<span id="cb4-7"><a href="#cb4-7" tabindex="-1"></a><span class="co">#> [35m⣶[39m[35m⣶[39m </span></span>
|
|
451
|
+
<span id="cb4-8"><a href="#cb4-8" tabindex="-1"></a><span class="co">#> c 6.0 [35m⣿[39m[35m⣿[39m factor(cyl) </span></span>
|
|
452
|
+
<span id="cb4-9"><a href="#cb4-9" tabindex="-1"></a><span class="co">#> o [35m⣿[39m[35m⣿[39m [31m*[39m 4 </span></span>
|
|
453
|
+
<span id="cb4-10"><a href="#cb4-10" tabindex="-1"></a><span class="co">#> u 4.0 [35m⣿[39m[35m⣿[39m [36m⢰[39m[36m⣶[39m[36m⡆[39m [36m*[39m 6 </span></span>
|
|
454
|
+
<span id="cb4-11"><a href="#cb4-11" tabindex="-1"></a><span class="co">#> n [35m⣿[39m[35m⣿[39m [36m⣤[39m[35m⣤[39m[35m⣤[39m[35m⡄[39m[36m⢸[39m[36m⣿[39m[36m⡇[39m[31m⢠[39m[31m⣤[39m[31m⣤[39m [31m⣤[39m[31m⣤[39m [35m*[39m 8 </span></span>
|
|
455
|
+
<span id="cb4-12"><a href="#cb4-12" tabindex="-1"></a><span class="co">#> t 2.0 [35m⢠[39m[35m⣤[39m[35m⡄[39m [35m⣤[39m[35m⣤[39m [35m⣿[39m[35m⣿[39m [36m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣧[39m[36m⣼[39m[36m⣿[39m[36m⡇[39m[31m⢸[39m[31m⣿[39m[31m⣿[39m [31m⢠[39m[31m⣤[39m[31m⡄[39m [31m⣿[39m[31m⣿[39m </span></span>
|
|
456
|
+
<span id="cb4-13"><a href="#cb4-13" tabindex="-1"></a><span class="co">#> [35m⢸[39m[35m⣿[39m[35m⡇[39m [35m⣿[39m[35m⣿[39m [35m⣿[39m[35m⣿[39m [36m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[36m⣿[39m[36m⣿[39m[36m⡇[39m[31m⢸[39m[31m⣿[39m[31m⣿[39m [31m⢸[39m[31m⣿[39m[31m⡇[39m [31m⣿[39m[31m⣿[39m [31m⢠[39m[31m⣤[39m[31m⡄[39m </span></span>
|
|
457
|
+
<span id="cb4-14"><a href="#cb4-14" tabindex="-1"></a><span class="co">#> 0 [31m⠠[39m[31m⠤[39m[36m⠤[39m[35m⠼[39m[35m⠿[39m[35m⠧[39m[36m⠤[39m[36m⠤[39m[35m⠿[39m[35m⠿[39m[31m⠤[39m[36m⠤[39m[36m⠤[39m[35m⠿[39m[35m⠿[39m[31m⠤[39m[36m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[36m⠿[39m[36m⠿[39m[35m⠧[39m[35m⠼[39m[31m⠿[39m[36m⠿[39m[36m⠤[39m[35m⠤[39m[35m⠼[39m[31m⠿[39m[36m⠧[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[36m⠤[39m[36m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠿[39m[36m⠿[39m[36m⠤[39m[35m⠤[39m[35m⠼[39m[31m⠿[39m[36m⠧[39m[35m⠤[39m[35m⠤[39m[35m⠄[39m </span></span>
|
|
458
|
+
<span id="cb4-15"><a href="#cb4-15" tabindex="-1"></a><span class="co">#> 10.0 15.0 20.0 25.0 30.0 35.0 </span></span>
|
|
459
|
+
<span id="cb4-16"><a href="#cb4-16" tabindex="-1"></a><span class="co">#> mpg </span></span>
|
|
460
|
+
<span id="cb4-17"><a href="#cb4-17" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
461
|
+
</div>
|
|
462
|
+
<div id="density-plots-geom_density" class="section level3">
|
|
463
|
+
<h3>Density Plots (geom_density)</h3>
|
|
464
|
+
<div class="sourceCode" id="cb5"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb5-1"><a href="#cb5-1" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(mtcars, <span class="fu">aes</span>(<span class="at">x =</span> mpg, <span class="at">color =</span> <span class="fu">factor</span>(cyl))) <span class="sc">+</span></span>
|
|
465
|
+
<span id="cb5-2"><a href="#cb5-2" tabindex="-1"></a> <span class="fu">geom_density</span>() <span class="sc">+</span></span>
|
|
466
|
+
<span id="cb5-3"><a href="#cb5-3" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"MPG Density by Cylinders"</span>)</span>
|
|
467
|
+
<span id="cb5-4"><a href="#cb5-4" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">60</span>, <span class="at">height =</span> <span class="dv">12</span>)</span>
|
|
468
|
+
<span id="cb5-5"><a href="#cb5-5" tabindex="-1"></a><span class="co">#> </span></span>
|
|
469
|
+
<span id="cb5-6"><a href="#cb5-6" tabindex="-1"></a><span class="co">#> MPG Density by Cylinders </span></span>
|
|
470
|
+
<span id="cb5-7"><a href="#cb5-7" tabindex="-1"></a><span class="co">#> d 0.25 [35m⣠[39m[35m⢦[39m </span></span>
|
|
471
|
+
<span id="cb5-8"><a href="#cb5-8" tabindex="-1"></a><span class="co">#> e 0.20 [35m⢠[39m[35m⠃[39m[35m⠈[39m[35m⣇[39m [36m⢀[39m[36m⡠[39m[36m⠞[39m[36m⠙[39m[36m⣆[39m factor(cyl) </span></span>
|
|
472
|
+
<span id="cb5-9"><a href="#cb5-9" tabindex="-1"></a><span class="co">#> n [35m⡞[39m [35m⠸[39m[35m⡀[39m [36m⢠[39m[36m⠚[39m[36m⠉[39m[36m⠁[39m [36m⠸[39m[36m⡄[39m [31m*[39m 4 </span></span>
|
|
473
|
+
<span id="cb5-10"><a href="#cb5-10" tabindex="-1"></a><span class="co">#> s 0.15 [35m⢠[39m[35m⠃[39m [35m⢣[39m [36m⢠[39m[36m⠃[39m [36m⢧[39m [36m*[39m 6 </span></span>
|
|
474
|
+
<span id="cb5-11"><a href="#cb5-11" tabindex="-1"></a><span class="co">#> i 0.10 [35m⢀[39m[35m⡎[39m [35m⠈[39m[35m⢆[39m[36m⡎[39m [36m⠘[39m[36m⡄[39m [35m*[39m 8 </span></span>
|
|
475
|
+
<span id="cb5-12"><a href="#cb5-12" tabindex="-1"></a><span class="co">#> t 0.05 [35m⠘[39m[35m⢦[39m [35m⢀[39m[35m⡞[39m [35m⡼[39m[35m⠳[39m[35m⠤[39m[35m⠖[39m[35m⠒[39m[35m⢦[39m [31m⢀[39m[31m⣠[39m[31m⠤[39m[31m⠖[39m[36m⢳[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⠦[39m[31m⠤[39m[31m⠤[39m[31m⣄[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m </span></span>
|
|
476
|
+
<span id="cb5-13"><a href="#cb5-13" tabindex="-1"></a><span class="co">#> y [35m⠈[39m[35m⢣[39m[35m⡀[39m[35m⣠[39m[35m⠞[39m [36m⡰[39m[36m⠁[39m [31m⢀[39m[31m⣀[39m[31m⡤[39m[31m⠔[39m[35m⢻[39m[35m⡉[39m [36m⠈[39m[36m⢧[39m [31m⠈[39m[31m⠉[39m[31m⠉[39m[31m⠓[39m[31m⠂[39m </span></span>
|
|
477
|
+
<span id="cb5-14"><a href="#cb5-14" tabindex="-1"></a><span class="co">#> 0 [36m⠠[39m[36m⠤[39m[36m⠤[39m[35m⠭[39m[35m⠥[39m[36m⠤[39m[36m⠤[39m[36m⠤[39m[36m⠴[39m[36m⠶[39m[36m⠒[39m[36m⠚[39m[36m⠓[39m[31m⠒[39m[31m⠉[39m[31m⠉[39m [35m⠙[39m[35m⠒[39m[35m⠦[39m[35m⠤[39m[35m⠤[39m[35m⠬[39m[35m⠷[39m[35m⠶[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠄[39m </span></span>
|
|
478
|
+
<span id="cb5-15"><a href="#cb5-15" tabindex="-1"></a><span class="co">#> 10.0 15.0 20.0 25.0 30.0 35.0 </span></span>
|
|
479
|
+
<span id="cb5-16"><a href="#cb5-16" tabindex="-1"></a><span class="co">#> mpg </span></span>
|
|
480
|
+
<span id="cb5-17"><a href="#cb5-17" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
481
|
+
</div>
|
|
482
|
+
<div id="bar-charts-geom_col" class="section level3">
|
|
483
|
+
<h3>Bar Charts (geom_col)</h3>
|
|
484
|
+
<div class="sourceCode" id="cb6"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb6-1"><a href="#cb6-1" tabindex="-1"></a>df <span class="ot"><-</span> <span class="fu">data.frame</span>(</span>
|
|
485
|
+
<span id="cb6-2"><a href="#cb6-2" tabindex="-1"></a> <span class="at">category =</span> <span class="fu">c</span>(<span class="st">"A"</span>, <span class="st">"B"</span>, <span class="st">"C"</span>, <span class="st">"D"</span>, <span class="st">"E"</span>, <span class="st">"F"</span>),</span>
|
|
486
|
+
<span id="cb6-3"><a href="#cb6-3" tabindex="-1"></a> <span class="at">value =</span> <span class="fu">c</span>(<span class="dv">25</span>, <span class="dv">45</span>, <span class="dv">30</span>, <span class="dv">60</span>, <span class="dv">35</span>, <span class="dv">50</span>)</span>
|
|
487
|
+
<span id="cb6-4"><a href="#cb6-4" tabindex="-1"></a>)</span>
|
|
488
|
+
<span id="cb6-5"><a href="#cb6-5" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(df, <span class="fu">aes</span>(<span class="at">x =</span> category, <span class="at">y =</span> value, <span class="at">fill =</span> category)) <span class="sc">+</span></span>
|
|
489
|
+
<span id="cb6-6"><a href="#cb6-6" tabindex="-1"></a> <span class="fu">geom_col</span>() <span class="sc">+</span></span>
|
|
490
|
+
<span id="cb6-7"><a href="#cb6-7" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Category Values"</span>)</span>
|
|
491
|
+
<span id="cb6-8"><a href="#cb6-8" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">60</span>, <span class="at">height =</span> <span class="dv">12</span>)</span>
|
|
492
|
+
<span id="cb6-9"><a href="#cb6-9" tabindex="-1"></a><span class="co">#> </span></span>
|
|
493
|
+
<span id="cb6-10"><a href="#cb6-10" tabindex="-1"></a><span class="co">#> Category Values </span></span>
|
|
494
|
+
<span id="cb6-11"><a href="#cb6-11" tabindex="-1"></a><span class="co">#> 60.0 [36m⣶[39m[36m⣶[39m[36m⣶[39m[36m⣶[39m[36m⣶[39m[36m⣶[39m[36m⣶[39m[36m⣶[39m category </span></span>
|
|
495
|
+
<span id="cb6-12"><a href="#cb6-12" tabindex="-1"></a><span class="co">#> v 50.0 [36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m [35m⣤[39m[35m⣤[39m[35m⣤[39m[35m⣤[39m[35m⣤[39m[35m⣤[39m[35m⣤[39m[35m⣤[39m [31m*[39m A </span></span>
|
|
496
|
+
<span id="cb6-13"><a href="#cb6-13" tabindex="-1"></a><span class="co">#> a 40.0 [33m⢸[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⡇[39m [36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m [35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m [33m*[39m B </span></span>
|
|
497
|
+
<span id="cb6-14"><a href="#cb6-14" tabindex="-1"></a><span class="co">#> l 30.0 [33m⢸[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⡇[39m[32m⣀[39m[32m⣀[39m[32m⣀[39m[32m⣀[39m[32m⣀[39m[32m⣀[39m[32m⣀[39m[32m⣀[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[34m⢰[39m[34m⣶[39m[34m⣶[39m[34m⣶[39m[34m⣶[39m[34m⣶[39m[34m⣶[39m[34m⣶[39m[34m⡆[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m [32m*[39m C </span></span>
|
|
498
|
+
<span id="cb6-15"><a href="#cb6-15" tabindex="-1"></a><span class="co">#> u [31m⣤[39m[31m⣤[39m[31m⣤[39m[31m⣤[39m[31m⣤[39m[31m⣤[39m[31m⣤[39m[31m⣤[39m[33m⢸[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⡇[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[34m⢸[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⡇[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m [36m*[39m D </span></span>
|
|
499
|
+
<span id="cb6-16"><a href="#cb6-16" tabindex="-1"></a><span class="co">#> e 20.0 [31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[33m⢸[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⡇[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[34m⢸[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⡇[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m [34m*[39m E </span></span>
|
|
500
|
+
<span id="cb6-17"><a href="#cb6-17" tabindex="-1"></a><span class="co">#> 10.0 [31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[33m⢸[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⣿[39m[33m⡇[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[32m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[36m⣿[39m[34m⢸[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⣿[39m[34m⡇[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m [35m*[39m F </span></span>
|
|
501
|
+
<span id="cb6-18"><a href="#cb6-18" tabindex="-1"></a><span class="co">#> 0 [31m⠿[39m[31m⠿[39m[31m⠿[39m[31m⠿[39m[31m⠿[39m[31m⠿[39m[31m⠿[39m[31m⠿[39m[33m⠸[39m[33m⠿[39m[33m⠿[39m[33m⠿[39m[33m⠿[39m[33m⠿[39m[33m⠿[39m[33m⠿[39m[33m⠇[39m[32m⠿[39m[32m⠿[39m[32m⠿[39m[32m⠿[39m[32m⠿[39m[32m⠿[39m[32m⠿[39m[32m⠿[39m[36m⠿[39m[36m⠿[39m[36m⠿[39m[36m⠿[39m[36m⠿[39m[36m⠿[39m[36m⠿[39m[36m⠿[39m[34m⠸[39m[34m⠿[39m[34m⠿[39m[34m⠿[39m[34m⠿[39m[34m⠿[39m[34m⠿[39m[34m⠿[39m[34m⠇[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m </span></span>
|
|
502
|
+
<span id="cb6-19"><a href="#cb6-19" tabindex="-1"></a><span class="co">#> A B C D E F </span></span>
|
|
503
|
+
<span id="cb6-20"><a href="#cb6-20" tabindex="-1"></a><span class="co">#> category </span></span>
|
|
504
|
+
<span id="cb6-21"><a href="#cb6-21" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
505
|
+
</div>
|
|
506
|
+
<div id="boxplots-geom_boxplot" class="section level3">
|
|
507
|
+
<h3>Boxplots (geom_boxplot)</h3>
|
|
508
|
+
<p>Boxplots are rendered with box-drawing characters by default, showing
|
|
509
|
+
whiskers, box (Q1-Q3), median line, and outliers:</p>
|
|
510
|
+
<div class="sourceCode" id="cb7"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb7-1"><a href="#cb7-1" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">42</span>)</span>
|
|
511
|
+
<span id="cb7-2"><a href="#cb7-2" tabindex="-1"></a>df <span class="ot"><-</span> <span class="fu">data.frame</span>(</span>
|
|
512
|
+
<span id="cb7-3"><a href="#cb7-3" tabindex="-1"></a> <span class="at">group =</span> <span class="fu">factor</span>(<span class="fu">rep</span>(<span class="fu">paste0</span>(<span class="st">"Group "</span>, <span class="dv">1</span><span class="sc">:</span><span class="dv">6</span>), <span class="at">each =</span> <span class="dv">50</span>)),</span>
|
|
513
|
+
<span id="cb7-4"><a href="#cb7-4" tabindex="-1"></a> <span class="at">value =</span> <span class="fu">c</span>(<span class="fu">rnorm</span>(<span class="dv">50</span>, <span class="dv">10</span>, <span class="dv">3</span>), <span class="fu">rnorm</span>(<span class="dv">50</span>, <span class="dv">5</span>, <span class="dv">2</span>), <span class="fu">rnorm</span>(<span class="dv">50</span>, <span class="dv">8</span>, <span class="dv">4</span>),</span>
|
|
514
|
+
<span id="cb7-5"><a href="#cb7-5" tabindex="-1"></a> <span class="fu">rnorm</span>(<span class="dv">50</span>, <span class="dv">6</span>, <span class="dv">2</span>), <span class="fu">rnorm</span>(<span class="dv">50</span>, <span class="dv">12</span>, <span class="dv">3</span>), <span class="fu">rnorm</span>(<span class="dv">50</span>, <span class="dv">7</span>, <span class="dv">2</span>))</span>
|
|
515
|
+
<span id="cb7-6"><a href="#cb7-6" tabindex="-1"></a>)</span>
|
|
516
|
+
<span id="cb7-7"><a href="#cb7-7" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(df, <span class="fu">aes</span>(<span class="at">x =</span> group, <span class="at">y =</span> value, <span class="at">fill =</span> group)) <span class="sc">+</span></span>
|
|
517
|
+
<span id="cb7-8"><a href="#cb7-8" tabindex="-1"></a> <span class="fu">geom_boxplot</span>() <span class="sc">+</span></span>
|
|
518
|
+
<span id="cb7-9"><a href="#cb7-9" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Boxplot Colored by Group"</span>, <span class="at">y =</span> <span class="st">"Value"</span>, <span class="at">x =</span> <span class="st">"Group"</span>)</span>
|
|
519
|
+
<span id="cb7-10"><a href="#cb7-10" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">80</span>, <span class="at">height =</span> <span class="dv">20</span>, <span class="at">boxplot_style =</span> <span class="st">"ascii"</span>)</span>
|
|
520
|
+
<span id="cb7-11"><a href="#cb7-11" tabindex="-1"></a><span class="co">#> </span></span>
|
|
521
|
+
<span id="cb7-12"><a href="#cb7-12" tabindex="-1"></a><span class="co">#> Boxplot Colored by Group </span></span>
|
|
522
|
+
<span id="cb7-13"><a href="#cb7-13" tabindex="-1"></a><span class="co">#> [32m*[39m [34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m </span></span>
|
|
523
|
+
<span id="cb7-14"><a href="#cb7-14" tabindex="-1"></a><span class="co">#> [31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m [34m│[39m </span></span>
|
|
524
|
+
<span id="cb7-15"><a href="#cb7-15" tabindex="-1"></a><span class="co">#> [31m│[39m [32m*[39m [34m│[39m </span></span>
|
|
525
|
+
<span id="cb7-16"><a href="#cb7-16" tabindex="-1"></a><span class="co">#> 15.0 [31m│[39m [34m┌[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m┐[39m group </span></span>
|
|
526
|
+
<span id="cb7-17"><a href="#cb7-17" tabindex="-1"></a><span class="co">#> [31m│[39m [32m─[39m[32m─[39m[32m─[39m[32m*[39m[32m─[39m[32m─[39m[32m─[39m [34m│[39m [34m│[39m [31m*[39m Group 1 </span></span>
|
|
527
|
+
<span id="cb7-18"><a href="#cb7-18" tabindex="-1"></a><span class="co">#> V [31m┌[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┐[39m [32m│[39m [34m│[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m│[39m [35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m [33m*[39m Group 2 </span></span>
|
|
528
|
+
<span id="cb7-19"><a href="#cb7-19" tabindex="-1"></a><span class="co">#> a [31m│[39m [31m│[39m [32m│[39m [34m└[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m┘[39m [35m│[39m [32m*[39m Group 3 </span></span>
|
|
529
|
+
<span id="cb7-20"><a href="#cb7-20" tabindex="-1"></a><span class="co">#> l 10.0 [31m│[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m│[39m [32m┌[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m┐[39m [36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m [34m│[39m [35m│[39m [36m*[39m Group 4 </span></span>
|
|
530
|
+
<span id="cb7-21"><a href="#cb7-21" tabindex="-1"></a><span class="co">#> u [31m└[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┘[39m [33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m [32m│[39m [32m│[39m [36m┌[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m┐[39m [34m│[39m [35m┌[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m┐[39m [34m*[39m Group 5 </span></span>
|
|
531
|
+
<span id="cb7-22"><a href="#cb7-22" tabindex="-1"></a><span class="co">#> e [31m│[39m [33m┌[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m┐[39m [32m└[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m┘[39m [36m│[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m│[39m [34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m [35m│[39m [35m│[39m [35m*[39m Group 6 </span></span>
|
|
532
|
+
<span id="cb7-23"><a href="#cb7-23" tabindex="-1"></a><span class="co">#> 5.0 [31m│[39m [33m│[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m│[39m [32m│[39m [36m└[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m┘[39m [35m└[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m┘[39m </span></span>
|
|
533
|
+
<span id="cb7-24"><a href="#cb7-24" tabindex="-1"></a><span class="co">#> [31m│[39m [33m└[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m┘[39m [32m│[39m [36m│[39m [35m│[39m </span></span>
|
|
534
|
+
<span id="cb7-25"><a href="#cb7-25" tabindex="-1"></a><span class="co">#> [31m─[39m[31m─[39m[31m─[39m[31m*[39m[31m─[39m[31m─[39m[31m─[39m [33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m [32m│[39m [36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m [35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m </span></span>
|
|
535
|
+
<span id="cb7-26"><a href="#cb7-26" tabindex="-1"></a><span class="co">#> [32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m </span></span>
|
|
536
|
+
<span id="cb7-27"><a href="#cb7-27" tabindex="-1"></a><span class="co">#> 0 [33m*[39m [32m*[39m </span></span>
|
|
537
|
+
<span id="cb7-28"><a href="#cb7-28" tabindex="-1"></a><span class="co">#> </span></span>
|
|
538
|
+
<span id="cb7-29"><a href="#cb7-29" tabindex="-1"></a><span class="co">#> Group 1 Group 2 Group 3 Group 4 Group 5 Group 6 </span></span>
|
|
539
|
+
<span id="cb7-30"><a href="#cb7-30" tabindex="-1"></a><span class="co">#> Group </span></span>
|
|
540
|
+
<span id="cb7-31"><a href="#cb7-31" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
541
|
+
<p>You can also use Braille rendering for boxplots:</p>
|
|
542
|
+
<div class="sourceCode" id="cb8"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb8-1"><a href="#cb8-1" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">80</span>, <span class="at">height =</span> <span class="dv">20</span>, <span class="at">boxplot_style =</span> <span class="st">"braille"</span>)</span>
|
|
543
|
+
<span id="cb8-2"><a href="#cb8-2" tabindex="-1"></a><span class="co">#> </span></span>
|
|
544
|
+
<span id="cb8-3"><a href="#cb8-3" tabindex="-1"></a><span class="co">#> Boxplot Colored by Group </span></span>
|
|
545
|
+
<span id="cb8-4"><a href="#cb8-4" tabindex="-1"></a><span class="co">#> [32m⡀[39m </span></span>
|
|
546
|
+
<span id="cb8-5"><a href="#cb8-5" tabindex="-1"></a><span class="co">#> [34m⠒[39m[34m⠒[39m[34m⡖[39m[34m⠒[39m[34m⠂[39m </span></span>
|
|
547
|
+
<span id="cb8-6"><a href="#cb8-6" tabindex="-1"></a><span class="co">#> [31m⠉[39m[31m⠉[39m[31m⡏[39m[31m⠉[39m[31m⠁[39m [34m⡇[39m </span></span>
|
|
548
|
+
<span id="cb8-7"><a href="#cb8-7" tabindex="-1"></a><span class="co">#> 15.0 [31m⡇[39m [32m⠂[39m [34m⡇[39m group </span></span>
|
|
549
|
+
<span id="cb8-8"><a href="#cb8-8" tabindex="-1"></a><span class="co">#> [31m⡇[39m [32m⠂[39m [34m⢰[39m[34m⠒[39m[34m⠒[39m[34m⠒[39m[34m⠒[39m[34m⠓[39m[34m⠒[39m[34m⠒[39m[34m⠒[39m[34m⢲[39m [31m*[39m Group 1 </span></span>
|
|
550
|
+
<span id="cb8-9"><a href="#cb8-9" tabindex="-1"></a><span class="co">#> V [31m⢀[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣇[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⡀[39m [32m⠉[39m[32m⠉[39m[32m⡏[39m[32m⠉[39m[32m⠁[39m [34m⢸[39m [34m⢸[39m [35m⢀[39m[35m⣀[39m[35m⣀[39m[35m⣀[39m[35m⣀[39m [33m*[39m Group 2 </span></span>
|
|
551
|
+
<span id="cb8-10"><a href="#cb8-10" tabindex="-1"></a><span class="co">#> a [31m⢸[39m [31m⡇[39m [32m⡇[39m [34m⢸[39m[34m⠉[39m[34m⠉[39m[34m⠉[39m[34m⠉[39m[34m⠉[39m[34m⠉[39m[34m⠉[39m[34m⠉[39m[34m⢹[39m [35m⢸[39m [32m*[39m Group 3 </span></span>
|
|
552
|
+
<span id="cb8-11"><a href="#cb8-11" tabindex="-1"></a><span class="co">#> l 10.0 [31m⢸[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⡇[39m [32m⡇[39m [36m⠐[39m[36m⠒[39m[36m⢲[39m[36m⠒[39m[36m⠒[39m [34m⠘[39m[34m⠒[39m[34m⠒[39m[34m⠒[39m[34m⠒[39m[34m⡖[39m[34m⠒[39m[34m⠒[39m[34m⠒[39m[34m⠚[39m [35m⢸[39m [36m*[39m Group 4 </span></span>
|
|
553
|
+
<span id="cb8-12"><a href="#cb8-12" tabindex="-1"></a><span class="co">#> u [31m⠸[39m[31m⠤[39m[31m⠤[39m[31m⠤[39m[31m⠤[39m[31m⡤[39m[31m⠤[39m[31m⠤[39m[31m⠤[39m[31m⠇[39m [33m⠠[39m[33m⠤[39m[33m⢤[39m[33m⠤[39m[33m⠤[39m [32m⢰[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠓[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⢲[39m [36m⢸[39m [34m⡇[39m [35m⢰[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⠚[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⡆[39m [34m*[39m Group 5 </span></span>
|
|
554
|
+
<span id="cb8-13"><a href="#cb8-13" tabindex="-1"></a><span class="co">#> e [31m⡇[39m [33m⣀[39m[33m⣀[39m[33m⣀[39m[33m⣀[39m[33m⣸[39m[33m⣀[39m[33m⣀[39m[33m⣀[39m[33m⣀[39m[33m⡀[39m [32m⢸[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⢺[39m [36m⡖[39m[36m⠒[39m[36m⠒[39m[36m⠒[39m[36m⠚[39m[36m⠒[39m[36m⠒[39m[36m⠒[39m[36m⠒[39m[36m⡆[39m [34m⡇[39m [35m⢸[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⡇[39m [35m*[39m Group 6 </span></span>
|
|
555
|
+
<span id="cb8-14"><a href="#cb8-14" tabindex="-1"></a><span class="co">#> 5.0 [31m⡇[39m [33m⡗[39m[33m⠒[39m[33m⠒[39m[33m⠒[39m[33m⠒[39m[33m⠒[39m[33m⠒[39m[33m⠒[39m[33m⠒[39m[33m⡇[39m [32m⠘[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⡖[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠚[39m [36m⣏[39m[36m⣉[39m[36m⣉[39m[36m⣉[39m[36m⣉[39m[36m⣉[39m[36m⣉[39m[36m⣉[39m[36m⣉[39m[36m⡇[39m [34m⠉[39m[34m⠉[39m[34m⠉[39m[34m⠉[39m[34m⠁[39m [35m⠘[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⢲[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⠒[39m[35m⠃[39m </span></span>
|
|
556
|
+
<span id="cb8-15"><a href="#cb8-15" tabindex="-1"></a><span class="co">#> [31m⡇[39m [33m⠧[39m[33m⠤[39m[33m⠤[39m[33m⠤[39m[33m⢤[39m[33m⠤[39m[33m⠤[39m[33m⠤[39m[33m⠤[39m[33m⠇[39m [32m⡇[39m [36m⢸[39m [35m⢸[39m </span></span>
|
|
557
|
+
<span id="cb8-16"><a href="#cb8-16" tabindex="-1"></a><span class="co">#> [31m⠤[39m[31m⠤[39m[31m⡧[39m[31m⠤[39m[31m⠄[39m [33m⢀[39m[33m⣀[39m[33m⣸[39m[33m⣀[39m[33m⣀[39m [32m⡇[39m [36m⠠[39m[36m⠤[39m[36m⠼[39m[36m⠤[39m[36m⠤[39m [35m⢸[39m </span></span>
|
|
558
|
+
<span id="cb8-17"><a href="#cb8-17" tabindex="-1"></a><span class="co">#> [32m⠒[39m[32m⠒[39m[32m⠓[39m[32m⠒[39m[32m⠂[39m [35m⠐[39m[35m⠒[39m[35m⠚[39m[35m⠒[39m[35m⠒[39m </span></span>
|
|
559
|
+
<span id="cb8-18"><a href="#cb8-18" tabindex="-1"></a><span class="co">#> 0 [32m⠄[39m </span></span>
|
|
560
|
+
<span id="cb8-19"><a href="#cb8-19" tabindex="-1"></a><span class="co">#> [33m⠈[39m </span></span>
|
|
561
|
+
<span id="cb8-20"><a href="#cb8-20" tabindex="-1"></a><span class="co">#> Group 1 Group 2 Group 3 Group 4 Group 5 Group 6 </span></span>
|
|
562
|
+
<span id="cb8-21"><a href="#cb8-21" tabindex="-1"></a><span class="co">#> Group </span></span>
|
|
563
|
+
<span id="cb8-22"><a href="#cb8-22" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
564
|
+
</div>
|
|
565
|
+
</div>
|
|
566
|
+
<div id="combining-multiple-geoms" class="section level2">
|
|
567
|
+
<h2>Combining Multiple Geoms</h2>
|
|
568
|
+
<div class="sourceCode" id="cb9"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb9-1"><a href="#cb9-1" tabindex="-1"></a><span class="co"># Histogram with density overlay</span></span>
|
|
569
|
+
<span id="cb9-2"><a href="#cb9-2" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(mtcars, <span class="fu">aes</span>(<span class="at">x =</span> mpg)) <span class="sc">+</span></span>
|
|
570
|
+
<span id="cb9-3"><a href="#cb9-3" tabindex="-1"></a> <span class="fu">geom_histogram</span>(<span class="fu">aes</span>(<span class="at">y =</span> <span class="fu">after_stat</span>(density)), <span class="at">bins =</span> <span class="dv">10</span>, <span class="at">fill =</span> <span class="st">"gray"</span>) <span class="sc">+</span></span>
|
|
571
|
+
<span id="cb9-4"><a href="#cb9-4" tabindex="-1"></a> <span class="fu">geom_density</span>(<span class="at">color =</span> <span class="st">"red"</span>) <span class="sc">+</span></span>
|
|
572
|
+
<span id="cb9-5"><a href="#cb9-5" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Histogram with Density Overlay"</span>)</span>
|
|
573
|
+
<span id="cb9-6"><a href="#cb9-6" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">60</span>, <span class="at">height =</span> <span class="dv">12</span>)</span>
|
|
574
|
+
<span id="cb9-7"><a href="#cb9-7" tabindex="-1"></a><span class="co">#> </span></span>
|
|
575
|
+
<span id="cb9-8"><a href="#cb9-8" tabindex="-1"></a><span class="co">#> Histogram with Density Overlay </span></span>
|
|
576
|
+
<span id="cb9-9"><a href="#cb9-9" tabindex="-1"></a><span class="co">#> d [35m⢰[39m[35m⣶[39m[35m⣶[39m[35m⣶[39m[35m⣶[39m[35m⣶[39m </span></span>
|
|
577
|
+
<span id="cb9-10"><a href="#cb9-10" tabindex="-1"></a><span class="co">#> e 0.08 [35m⢸[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣶[39m[31m⣶[39m[31m⣶[39m[31m⣶[39m[31m⣶[39m[35m⣶[39m[35m⣶[39m[35m⣶[39m[35m⣶[39m </span></span>
|
|
578
|
+
<span id="cb9-11"><a href="#cb9-11" tabindex="-1"></a><span class="co">#> n 0.06 [35m⢸[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m </span></span>
|
|
579
|
+
<span id="cb9-12"><a href="#cb9-12" tabindex="-1"></a><span class="co">#> s [31m⢀[39m[31m⡴[39m[31m⢻[39m[31m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[31m⣿[39m[31m⠑[39m[31m⢦[39m[31m⡀[39m </span></span>
|
|
580
|
+
<span id="cb9-13"><a href="#cb9-13" tabindex="-1"></a><span class="co">#> i 0.04 [31m⢀[39m[31m⡴[39m[31m⠋[39m [35m⢸[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣤[39m[35m⣤[39m[31m⣭[39m[31m⣷[39m[31m⣤[39m[31m⡀[39m [35m⣤[39m[35m⣤[39m[35m⣤[39m[35m⣤[39m[35m⣤[39m </span></span>
|
|
581
|
+
<span id="cb9-14"><a href="#cb9-14" tabindex="-1"></a><span class="co">#> t 0.02 [35m⢠[39m[35m⣤[39m[31m⣤[39m[31m⣤[39m[31m⣾[39m[31m⣥[39m[35m⣤[39m[35m⣤[39m[35m⣤[39m[35m⣼[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[31m⣭[39m[31m⣷[39m[31m⣦[39m[31m⣤[39m[31m⣄[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣀[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[35m⣿[39m </span></span>
|
|
582
|
+
<span id="cb9-15"><a href="#cb9-15" tabindex="-1"></a><span class="co">#> y [35m⢸[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⣿[39m[35m⡇[39m [35m⣿[39m[35m⣿[39m[35m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣽[39m[31m⣶[39m[31m⣦[39m[35m⣤[39m[35m⡄[39m </span></span>
|
|
583
|
+
<span id="cb9-16"><a href="#cb9-16" tabindex="-1"></a><span class="co">#> 0 [35m⠸[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠧[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠤[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠿[39m[35m⠇[39m </span></span>
|
|
584
|
+
<span id="cb9-17"><a href="#cb9-17" tabindex="-1"></a><span class="co">#> 10.0 15.0 20.0 25.0 30.0 35.0 </span></span>
|
|
585
|
+
<span id="cb9-18"><a href="#cb9-18" tabindex="-1"></a><span class="co">#> mpg </span></span>
|
|
586
|
+
<span id="cb9-19"><a href="#cb9-19" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
587
|
+
<div class="sourceCode" id="cb10"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb10-1"><a href="#cb10-1" tabindex="-1"></a><span class="co"># Points with smooth line</span></span>
|
|
588
|
+
<span id="cb10-2"><a href="#cb10-2" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(mtcars, <span class="fu">aes</span>(<span class="at">x =</span> wt, <span class="at">y =</span> mpg)) <span class="sc">+</span></span>
|
|
589
|
+
<span id="cb10-3"><a href="#cb10-3" tabindex="-1"></a> <span class="fu">geom_point</span>(<span class="at">color =</span> <span class="st">"gray"</span>) <span class="sc">+</span></span>
|
|
590
|
+
<span id="cb10-4"><a href="#cb10-4" tabindex="-1"></a> <span class="fu">geom_smooth</span>(<span class="at">method =</span> <span class="st">"loess"</span>, <span class="at">color =</span> <span class="st">"red"</span>) <span class="sc">+</span></span>
|
|
591
|
+
<span id="cb10-5"><a href="#cb10-5" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Scatter with LOESS Smooth"</span>)</span>
|
|
592
|
+
<span id="cb10-6"><a href="#cb10-6" tabindex="-1"></a><span class="fu">suppressMessages</span>(<span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">60</span>, <span class="at">height =</span> <span class="dv">12</span>))</span>
|
|
593
|
+
<span id="cb10-7"><a href="#cb10-7" tabindex="-1"></a><span class="co">#> </span></span>
|
|
594
|
+
<span id="cb10-8"><a href="#cb10-8" tabindex="-1"></a><span class="co">#> Scatter with LOESS Smooth </span></span>
|
|
595
|
+
<span id="cb10-9"><a href="#cb10-9" tabindex="-1"></a><span class="co">#> </span></span>
|
|
596
|
+
<span id="cb10-10"><a href="#cb10-10" tabindex="-1"></a><span class="co">#> 35.0 [31m⢐[39m[31m⢤[39m[31m⣀[39m[31m⣀[39m[36m⠁[39m [36m⠐[39m </span></span>
|
|
597
|
+
<span id="cb10-11"><a href="#cb10-11" tabindex="-1"></a><span class="co">#> m 30.0 [31m⠉[39m[31m⠲[39m[31m⠢[39m[31m⢄[39m[31m⡀[39m </span></span>
|
|
598
|
+
<span id="cb10-12"><a href="#cb10-12" tabindex="-1"></a><span class="co">#> p 25.0 [31m⠉[39m[31m⠉[39m[31m⡒[39m[31m⠤[39m[31m⣀[39m[31m⣀[39m [36m⡐[39m </span></span>
|
|
599
|
+
<span id="cb10-13"><a href="#cb10-13" tabindex="-1"></a><span class="co">#> g 20.0 [36m⠈[39m [36m⠐[39m[31m⠉[39m[31m⠩[39m[31m⠙[39m[31m⠒[39m[31m⠒[39m[31m⠢[39m[31m⠬[39m[31m⢄[39m[31m⣀[39m[31m⣠[39m [36m⠠[39m </span></span>
|
|
600
|
+
<span id="cb10-14"><a href="#cb10-14" tabindex="-1"></a><span class="co">#> 15.0 [36m⠄[39m [31m⢈[39m[31m⠩[39m[31m⡒[39m[31m⠒[39m[31m⢣[39m[31m⠤[39m[31m⠤[39m[31m⢄[39m[31m⣂[39m[31m⣀[39m[31m⣀[39m [36m⡀[39m </span></span>
|
|
601
|
+
<span id="cb10-15"><a href="#cb10-15" tabindex="-1"></a><span class="co">#> 10.0 [36m⠁[39m [31m⠉[39m[31m⠉[39m[31m⠉[39m[31m⠉[39m[31m⠑[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⠒[39m[31m⠢[39m[31m⠤[39m[31m⡤[39m[31m⠤[39m[31m⡄[39m </span></span>
|
|
602
|
+
<span id="cb10-16"><a href="#cb10-16" tabindex="-1"></a><span class="co">#> </span></span>
|
|
603
|
+
<span id="cb10-17"><a href="#cb10-17" tabindex="-1"></a><span class="co">#> 2.0 3.0 4.0 5.0 </span></span>
|
|
604
|
+
<span id="cb10-18"><a href="#cb10-18" tabindex="-1"></a><span class="co">#> wt </span></span>
|
|
605
|
+
<span id="cb10-19"><a href="#cb10-19" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
606
|
+
</div>
|
|
607
|
+
<div id="faceting" class="section level2">
|
|
608
|
+
<h2>Faceting</h2>
|
|
609
|
+
<div id="facet_wrap-with-color-aesthetics" class="section level3">
|
|
610
|
+
<h3>facet_wrap with Color Aesthetics</h3>
|
|
611
|
+
<p>Faceting works seamlessly with color/fill aesthetics and legends:</p>
|
|
612
|
+
<div class="sourceCode" id="cb11"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb11-1"><a href="#cb11-1" tabindex="-1"></a>mtcars<span class="sc">$</span>cyl_fac <span class="ot"><-</span> <span class="fu">factor</span>(mtcars<span class="sc">$</span>cyl)</span>
|
|
613
|
+
<span id="cb11-2"><a href="#cb11-2" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(mtcars, <span class="fu">aes</span>(<span class="at">x =</span> wt, <span class="at">y =</span> mpg, <span class="at">color =</span> cyl_fac)) <span class="sc">+</span></span>
|
|
614
|
+
<span id="cb11-3"><a href="#cb11-3" tabindex="-1"></a> <span class="fu">geom_point</span>() <span class="sc">+</span></span>
|
|
615
|
+
<span id="cb11-4"><a href="#cb11-4" tabindex="-1"></a> <span class="fu">facet_wrap</span>(<span class="sc">~</span>cyl_fac) <span class="sc">+</span></span>
|
|
616
|
+
<span id="cb11-5"><a href="#cb11-5" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"MPG vs Weight: Faceted by Cylinders"</span>)</span>
|
|
617
|
+
<span id="cb11-6"><a href="#cb11-6" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">75</span>, <span class="at">height =</span> <span class="dv">16</span>)</span>
|
|
618
|
+
<span id="cb11-7"><a href="#cb11-7" tabindex="-1"></a><span class="co">#> </span></span>
|
|
619
|
+
<span id="cb11-8"><a href="#cb11-8" tabindex="-1"></a><span class="co">#> MPG vs Weight: Faceted by Cylinders </span></span>
|
|
620
|
+
<span id="cb11-9"><a href="#cb11-9" tabindex="-1"></a><span class="co">#> 4, 1 6, 1 8, 1 </span></span>
|
|
621
|
+
<span id="cb11-10"><a href="#cb11-10" tabindex="-1"></a><span class="co">#> [31m⠠[39m </span></span>
|
|
622
|
+
<span id="cb11-11"><a href="#cb11-11" tabindex="-1"></a><span class="co">#> [31m⣀[39m [31m⠁[39m </span></span>
|
|
623
|
+
<span id="cb11-12"><a href="#cb11-12" tabindex="-1"></a><span class="co">#> 30.0 cyl_fac </span></span>
|
|
624
|
+
<span id="cb11-13"><a href="#cb11-13" tabindex="-1"></a><span class="co">#> [31m⠁[39m[31m⠄[39m [31m*[39m 4 </span></span>
|
|
625
|
+
<span id="cb11-14"><a href="#cb11-14" tabindex="-1"></a><span class="co">#> m [31m⡀[39m [31m⢀[39m[31m⠁[39m [36m*[39m 6 </span></span>
|
|
626
|
+
<span id="cb11-15"><a href="#cb11-15" tabindex="-1"></a><span class="co">#> p 20.0 [31m⠈[39m [31m⠂[39m [36m⠂[39m[36m⡐[39m [36m⠂[39m [35m*[39m 8 </span></span>
|
|
627
|
+
<span id="cb11-16"><a href="#cb11-16" tabindex="-1"></a><span class="co">#> g [36m⠅[39m [35m⠂[39m[35m⢀[39m[35m⠁[39m </span></span>
|
|
628
|
+
<span id="cb11-17"><a href="#cb11-17" tabindex="-1"></a><span class="co">#> [35m⠂[39m[35m⢤[39m[35m⠠[39m [35m⠁[39m [35m⡀[39m </span></span>
|
|
629
|
+
<span id="cb11-18"><a href="#cb11-18" tabindex="-1"></a><span class="co">#> [35m⠂[39m </span></span>
|
|
630
|
+
<span id="cb11-19"><a href="#cb11-19" tabindex="-1"></a><span class="co">#> 10.0 [35m⠐[39m[35m⠐[39m </span></span>
|
|
631
|
+
<span id="cb11-20"><a href="#cb11-20" tabindex="-1"></a><span class="co">#> 2.0 4.0 2.0 4.0 2.0 4.0 </span></span>
|
|
632
|
+
<span id="cb11-21"><a href="#cb11-21" tabindex="-1"></a><span class="co">#> </span></span>
|
|
633
|
+
<span id="cb11-22"><a href="#cb11-22" tabindex="-1"></a><span class="co">#> wt </span></span>
|
|
634
|
+
<span id="cb11-23"><a href="#cb11-23" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
635
|
+
</div>
|
|
636
|
+
<div id="facet_grid" class="section level3">
|
|
637
|
+
<h3>facet_grid</h3>
|
|
638
|
+
<div class="sourceCode" id="cb12"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb12-1"><a href="#cb12-1" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(mtcars, <span class="fu">aes</span>(<span class="at">x =</span> wt, <span class="at">y =</span> mpg, <span class="at">color =</span> <span class="fu">factor</span>(gear))) <span class="sc">+</span></span>
|
|
639
|
+
<span id="cb12-2"><a href="#cb12-2" tabindex="-1"></a> <span class="fu">geom_point</span>() <span class="sc">+</span></span>
|
|
640
|
+
<span id="cb12-3"><a href="#cb12-3" tabindex="-1"></a> <span class="fu">facet_grid</span>(am <span class="sc">~</span> cyl) <span class="sc">+</span></span>
|
|
641
|
+
<span id="cb12-4"><a href="#cb12-4" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"MPG: AM (rows) x Cylinders (cols)"</span>)</span>
|
|
642
|
+
<span id="cb12-5"><a href="#cb12-5" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">80</span>, <span class="at">height =</span> <span class="dv">20</span>)</span>
|
|
643
|
+
<span id="cb12-6"><a href="#cb12-6" tabindex="-1"></a><span class="co">#> </span></span>
|
|
644
|
+
<span id="cb12-7"><a href="#cb12-7" tabindex="-1"></a><span class="co">#> MPG: AM (rows) x Cylinders (cols) </span></span>
|
|
645
|
+
<span id="cb12-8"><a href="#cb12-8" tabindex="-1"></a><span class="co">#> 0, 4, 1 0, 6, 1 0, 8, 1 </span></span>
|
|
646
|
+
<span id="cb12-9"><a href="#cb12-9" tabindex="-1"></a><span class="co">#> </span></span>
|
|
647
|
+
<span id="cb12-10"><a href="#cb12-10" tabindex="-1"></a><span class="co">#> 30.0 </span></span>
|
|
648
|
+
<span id="cb12-11"><a href="#cb12-11" tabindex="-1"></a><span class="co">#> [36m⢀[39m[36m⠂[39m </span></span>
|
|
649
|
+
<span id="cb12-12"><a href="#cb12-12" tabindex="-1"></a><span class="co">#> 20.0 [31m⠁[39m [31m⠁[39m[36m⡄[39m [31m⡀[39m [31m⠄[39m </span></span>
|
|
650
|
+
<span id="cb12-13"><a href="#cb12-13" tabindex="-1"></a><span class="co">#> [31m⠔[39m[31m⠌[39m[31m⡄[39m[31m⠐[39m [31m⠄[39m factor(gear) </span></span>
|
|
651
|
+
<span id="cb12-14"><a href="#cb12-14" tabindex="-1"></a><span class="co">#> m 10.0 [31m⠠[39m[31m⠠[39m [31m*[39m 3 </span></span>
|
|
652
|
+
<span id="cb12-15"><a href="#cb12-15" tabindex="-1"></a><span class="co">#> p 1, 4, 1 1, 6, 1 1, 8, 1 [36m*[39m 4 </span></span>
|
|
653
|
+
<span id="cb12-16"><a href="#cb12-16" tabindex="-1"></a><span class="co">#> g [36m⠐[39m [36m⠠[39m [35m*[39m 5 </span></span>
|
|
654
|
+
<span id="cb12-17"><a href="#cb12-17" tabindex="-1"></a><span class="co">#> 30.0 [35m⠉[39m [36m⡀[39m </span></span>
|
|
655
|
+
<span id="cb12-18"><a href="#cb12-18" tabindex="-1"></a><span class="co">#> [35m⠈[39m[36m⡀[39m </span></span>
|
|
656
|
+
<span id="cb12-19"><a href="#cb12-19" tabindex="-1"></a><span class="co">#> 20.0 [36m⠈[39m [35m⠢[39m[36m⠂[39m </span></span>
|
|
657
|
+
<span id="cb12-20"><a href="#cb12-20" tabindex="-1"></a><span class="co">#> [35m⠐[39m [35m⠄[39m </span></span>
|
|
658
|
+
<span id="cb12-21"><a href="#cb12-21" tabindex="-1"></a><span class="co">#> 10.0 </span></span>
|
|
659
|
+
<span id="cb12-22"><a href="#cb12-22" tabindex="-1"></a><span class="co">#> 2.0 4.0 2.0 4.0 2.0 4.0 </span></span>
|
|
660
|
+
<span id="cb12-23"><a href="#cb12-23" tabindex="-1"></a><span class="co">#> </span></span>
|
|
661
|
+
<span id="cb12-24"><a href="#cb12-24" tabindex="-1"></a><span class="co">#> wt </span></span>
|
|
662
|
+
<span id="cb12-25"><a href="#cb12-25" tabindex="-1"></a><span class="co">#> </span></span>
|
|
663
|
+
<span id="cb12-26"><a href="#cb12-26" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
664
|
+
</div>
|
|
665
|
+
</div>
|
|
666
|
+
<div id="styling-options" class="section level2">
|
|
667
|
+
<h2>Styling Options</h2>
|
|
668
|
+
<div id="borders-and-grid-lines" class="section level3">
|
|
669
|
+
<h3>Borders and Grid Lines</h3>
|
|
670
|
+
<div class="sourceCode" id="cb13"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb13-1"><a href="#cb13-1" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(mtcars, <span class="fu">aes</span>(<span class="at">x =</span> hp, <span class="at">y =</span> qsec)) <span class="sc">+</span></span>
|
|
671
|
+
<span id="cb13-2"><a href="#cb13-2" tabindex="-1"></a> <span class="fu">geom_point</span>(<span class="at">color =</span> <span class="st">"cyan"</span>) <span class="sc">+</span></span>
|
|
672
|
+
<span id="cb13-3"><a href="#cb13-3" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Quarter Mile Time vs HP"</span>)</span>
|
|
673
|
+
<span id="cb13-4"><a href="#cb13-4" tabindex="-1"></a></span>
|
|
674
|
+
<span id="cb13-5"><a href="#cb13-5" tabindex="-1"></a><span class="co"># With border</span></span>
|
|
675
|
+
<span id="cb13-6"><a href="#cb13-6" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">55</span>, <span class="at">height =</span> <span class="dv">12</span>, <span class="at">border =</span> <span class="cn">TRUE</span>)</span>
|
|
676
|
+
<span id="cb13-7"><a href="#cb13-7" tabindex="-1"></a><span class="co">#> </span></span>
|
|
677
|
+
<span id="cb13-8"><a href="#cb13-8" tabindex="-1"></a><span class="co">#> Quarter Mile Time vs HP </span></span>
|
|
678
|
+
<span id="cb13-9"><a href="#cb13-9" tabindex="-1"></a><span class="co">#> ⡏⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⢹ </span></span>
|
|
679
|
+
<span id="cb13-10"><a href="#cb13-10" tabindex="-1"></a><span class="co">#> 22.0 ⡇ [36m⠠[39m ⢸ </span></span>
|
|
680
|
+
<span id="cb13-11"><a href="#cb13-11" tabindex="-1"></a><span class="co">#> q ⡇ ⢸ </span></span>
|
|
681
|
+
<span id="cb13-12"><a href="#cb13-12" tabindex="-1"></a><span class="co">#> s 20.0 ⡇ [36m⢲[39m [36m⠂[39m[36m⠡[39m [36m⢀[39m ⢸ </span></span>
|
|
682
|
+
<span id="cb13-13"><a href="#cb13-13" tabindex="-1"></a><span class="co">#> e 18.0 ⡇ [36m⠈[39m [36m⠁[39m [36m⢈[39m [36m⠈[39m [36m⡀[39m [36m⢀[39m[36m⠰[39m [36m⠂[39m[36m⠐[39m [36m⠠[39m ⢸ </span></span>
|
|
683
|
+
<span id="cb13-14"><a href="#cb13-14" tabindex="-1"></a><span class="co">#> c ⡇ [36m⠁[39m [36m⠐[39m[36m⠁[39m [36m⠁[39m [36m⢀[39m [36m⢠[39m ⢸ </span></span>
|
|
684
|
+
<span id="cb13-15"><a href="#cb13-15" tabindex="-1"></a><span class="co">#> 16.0 ⡇ [36m⠂[39m [36m⠂[39m ⢸ </span></span>
|
|
685
|
+
<span id="cb13-16"><a href="#cb13-16" tabindex="-1"></a><span class="co">#> ⣇⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣸ </span></span>
|
|
686
|
+
<span id="cb13-17"><a href="#cb13-17" tabindex="-1"></a><span class="co">#> 50.0 100 150 200 250 300 </span></span>
|
|
687
|
+
<span id="cb13-18"><a href="#cb13-18" tabindex="-1"></a><span class="co">#> hp </span></span>
|
|
688
|
+
<span id="cb13-19"><a href="#cb13-19" tabindex="-1"></a><span class="co">#> </span></span>
|
|
689
|
+
<span id="cb13-20"><a href="#cb13-20" tabindex="-1"></a></span>
|
|
690
|
+
<span id="cb13-21"><a href="#cb13-21" tabindex="-1"></a><span class="co"># With grid</span></span>
|
|
691
|
+
<span id="cb13-22"><a href="#cb13-22" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">55</span>, <span class="at">height =</span> <span class="dv">12</span>, <span class="at">grid =</span> <span class="st">"major"</span>)</span>
|
|
692
|
+
<span id="cb13-23"><a href="#cb13-23" tabindex="-1"></a><span class="co">#> </span></span>
|
|
693
|
+
<span id="cb13-24"><a href="#cb13-24" tabindex="-1"></a><span class="co">#> Quarter Mile Time vs HP </span></span>
|
|
694
|
+
<span id="cb13-25"><a href="#cb13-25" tabindex="-1"></a><span class="co">#> [90m⡇[39m [36m⠐[39m[90m⢸[39m [90m⡇[39m [90m⡇[39m [90m⢸[39m [90m⡇[39m </span></span>
|
|
695
|
+
<span id="cb13-26"><a href="#cb13-26" tabindex="-1"></a><span class="co">#> 22.0 [90m⠉[39m[90m⠉[39m[90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⢹[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⢹[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m </span></span>
|
|
696
|
+
<span id="cb13-27"><a href="#cb13-27" tabindex="-1"></a><span class="co">#> q [90m⣀[39m[90m⣀[39m[90m⣇[39m[36m⣀[39m[36m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[36m⣸[39m[36m⣄[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣇[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣇[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣸[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣇[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m[90m⣀[39m </span></span>
|
|
697
|
+
<span id="cb13-28"><a href="#cb13-28" tabindex="-1"></a><span class="co">#> s 20.0 [90m⡇[39m [36m⡂[39m [90m⢸[39m [36m⠂[39m[36m⢀[39m [90m⡇[39m [90m⡇[39m [90m⢸[39m [90m⡇[39m </span></span>
|
|
698
|
+
<span id="cb13-29"><a href="#cb13-29" tabindex="-1"></a><span class="co">#> e 18.0 [90m⠤[39m[90m⠤[39m[36m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[36m⠥[39m[90m⢼[39m[36m⠬[39m[90m⠤[39m[36m⠴[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[36m⡤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[36m⠤[39m[36m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m </span></span>
|
|
699
|
+
<span id="cb13-30"><a href="#cb13-30" tabindex="-1"></a><span class="co">#> c [90m⡇[39m [36m⠄[39m[90m⢸[39m [36m⡆[39m [36m⡇[39m [36m⠐[39m[36m⠁[39m [90m⡇[39m [36m⠈[39m [90m⢸[39m [90m⡇[39m </span></span>
|
|
700
|
+
<span id="cb13-31"><a href="#cb13-31" tabindex="-1"></a><span class="co">#> 16.0 [90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[36m⠲[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[36m⣺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m </span></span>
|
|
701
|
+
<span id="cb13-32"><a href="#cb13-32" tabindex="-1"></a><span class="co">#> [90m⡇[39m [90m⢸[39m [90m⡇[39m [90m⡇[39m [90m⢸[39m [36m⠄[39m [90m⡇[39m [36m⠐[39m </span></span>
|
|
702
|
+
<span id="cb13-33"><a href="#cb13-33" tabindex="-1"></a><span class="co">#> 50.0 100 150 200 250 300 </span></span>
|
|
703
|
+
<span id="cb13-34"><a href="#cb13-34" tabindex="-1"></a><span class="co">#> hp </span></span>
|
|
704
|
+
<span id="cb13-35"><a href="#cb13-35" tabindex="-1"></a><span class="co">#> </span></span>
|
|
705
|
+
<span id="cb13-36"><a href="#cb13-36" tabindex="-1"></a></span>
|
|
706
|
+
<span id="cb13-37"><a href="#cb13-37" tabindex="-1"></a><span class="co"># Both</span></span>
|
|
707
|
+
<span id="cb13-38"><a href="#cb13-38" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">55</span>, <span class="at">height =</span> <span class="dv">12</span>, <span class="at">border =</span> <span class="cn">TRUE</span>, <span class="at">grid =</span> <span class="st">"major"</span>)</span>
|
|
708
|
+
<span id="cb13-39"><a href="#cb13-39" tabindex="-1"></a><span class="co">#> </span></span>
|
|
709
|
+
<span id="cb13-40"><a href="#cb13-40" tabindex="-1"></a><span class="co">#> Quarter Mile Time vs HP </span></span>
|
|
710
|
+
<span id="cb13-41"><a href="#cb13-41" tabindex="-1"></a><span class="co">#> ⡏⠉⠉[90m⡏[39m⠉⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉⠉⠉⠉⢹ </span></span>
|
|
711
|
+
<span id="cb13-42"><a href="#cb13-42" tabindex="-1"></a><span class="co">#> 22.0 ⡇ [90m⡇[39m [36m⠠[39m[90m⡇[39m [90m⡇[39m [90m⡇[39m [90m⡇[39m [90m⡇[39m ⢸ </span></span>
|
|
712
|
+
<span id="cb13-43"><a href="#cb13-43" tabindex="-1"></a><span class="co">#> q [90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⡏[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⠉[39m[90m⢹[39m </span></span>
|
|
713
|
+
<span id="cb13-44"><a href="#cb13-44" tabindex="-1"></a><span class="co">#> s 20.0 [90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[36m⢲[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[36m⡗[39m[36m⠳[39m[90m⠒[39m[36m⢒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m </span></span>
|
|
714
|
+
<span id="cb13-45"><a href="#cb13-45" tabindex="-1"></a><span class="co">#> e 18.0 [90m⡗[39m[90m⠒[39m[90m⠒[39m[36m⡟[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[36m⠓[39m[90m⡗[39m[36m⢚[39m[90m⠒[39m[36m⠚[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[36m⡗[39m[90m⠒[39m[90m⠒[39m[36m⢒[39m[36m⠲[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[36m⠒[39m[36m⠒[39m[90m⠒[39m[36m⠲[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m </span></span>
|
|
715
|
+
<span id="cb13-46"><a href="#cb13-46" tabindex="-1"></a><span class="co">#> c [90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[36m⠥[39m[90m⡧[39m[36m⠴[39m[36m⠥[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[36m⡧[39m[90m⠤[39m[90m⠤[39m[36m⢤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[36m⢤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m </span></span>
|
|
716
|
+
<span id="cb13-47"><a href="#cb13-47" tabindex="-1"></a><span class="co">#> 16.0 ⡇ [90m⡇[39m [90m⡇[39m [90m⡇[39m [90m⡇[39m [90m⡇[39m [36m⠂[39m [90m⡇[39m [36m⠂[39m ⢸ </span></span>
|
|
717
|
+
<span id="cb13-48"><a href="#cb13-48" tabindex="-1"></a><span class="co">#> ⣇⣀⣀[90m⣇[39m⣀⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀⣀⣀⣀⣸ </span></span>
|
|
718
|
+
<span id="cb13-49"><a href="#cb13-49" tabindex="-1"></a><span class="co">#> 50.0 100 150 200 250 300 </span></span>
|
|
719
|
+
<span id="cb13-50"><a href="#cb13-50" tabindex="-1"></a><span class="co">#> hp </span></span>
|
|
720
|
+
<span id="cb13-51"><a href="#cb13-51" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
721
|
+
</div>
|
|
722
|
+
<div id="theme-auto-detection" class="section level3">
|
|
723
|
+
<h3>Theme Auto-Detection</h3>
|
|
724
|
+
<p>ggplotcli automatically respects ggplot2 themes:</p>
|
|
725
|
+
<div class="sourceCode" id="cb14"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb14-1"><a href="#cb14-1" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(mtcars, <span class="fu">aes</span>(<span class="at">x =</span> wt, <span class="at">y =</span> mpg)) <span class="sc">+</span></span>
|
|
726
|
+
<span id="cb14-2"><a href="#cb14-2" tabindex="-1"></a> <span class="fu">geom_point</span>(<span class="at">color =</span> <span class="st">"blue"</span>) <span class="sc">+</span></span>
|
|
727
|
+
<span id="cb14-3"><a href="#cb14-3" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"theme_bw() - Grid + Border"</span>)</span>
|
|
728
|
+
<span id="cb14-4"><a href="#cb14-4" tabindex="-1"></a></span>
|
|
729
|
+
<span id="cb14-5"><a href="#cb14-5" tabindex="-1"></a><span class="co"># theme_bw has both grid and border</span></span>
|
|
730
|
+
<span id="cb14-6"><a href="#cb14-6" tabindex="-1"></a><span class="fu">ggplotcli</span>(p <span class="sc">+</span> <span class="fu">theme_bw</span>(), <span class="at">width =</span> <span class="dv">60</span>, <span class="at">height =</span> <span class="dv">14</span>, <span class="at">border =</span> <span class="st">"auto"</span>, <span class="at">grid =</span> <span class="st">"auto"</span>)</span>
|
|
731
|
+
<span id="cb14-7"><a href="#cb14-7" tabindex="-1"></a><span class="co">#> </span></span>
|
|
732
|
+
<span id="cb14-8"><a href="#cb14-8" tabindex="-1"></a><span class="co">#> theme_bw() - Grid + Border </span></span>
|
|
733
|
+
<span id="cb14-9"><a href="#cb14-9" tabindex="-1"></a><span class="co">#> 35.0 ⡏⠉⠉[90m⢹[39m⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉[90m⢹[39m⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉[90m⢹[39m⠉⠉⠉⠉⠉[90m⢹[39m⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉[90m⢹[39m⠉⠉⢹ </span></span>
|
|
734
|
+
<span id="cb14-10"><a href="#cb14-10" tabindex="-1"></a><span class="co">#> [90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[34m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m </span></span>
|
|
735
|
+
<span id="cb14-11"><a href="#cb14-11" tabindex="-1"></a><span class="co">#> 30.0 [90m⣏[39m[90m⣉[39m[90m⣉[39m[34m⣹[39m[90m⣉[39m[34m⣍[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣏[39m[90m⣉[39m[34m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣏[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣹[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣏[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣹[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣹[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣏[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣹[39m[90m⣉[39m[90m⣉[39m[90m⣹[39m </span></span>
|
|
736
|
+
<span id="cb14-12"><a href="#cb14-12" tabindex="-1"></a><span class="co">#> m [90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[34m⣲[39m[90m⣗[39m[90m⣒[39m[34m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m </span></span>
|
|
737
|
+
<span id="cb14-13"><a href="#cb14-13" tabindex="-1"></a><span class="co">#> p 25.0 [90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[34m⡒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[34m⡒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m </span></span>
|
|
738
|
+
<span id="cb14-14"><a href="#cb14-14" tabindex="-1"></a><span class="co">#> g 20.0 [90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[34m⠭[39m[90m⡯[39m[34m⠯[39m[90m⠭[39m[34m⠭[39m[34m⠯[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[34m⠭[39m[90m⠭[39m[34m⢭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[34m⡭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m </span></span>
|
|
739
|
+
<span id="cb14-15"><a href="#cb14-15" tabindex="-1"></a><span class="co">#> [90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[34m⢭[39m[90m⠭[39m[90m⠭[39m[34m⢭[39m[34m⣯[39m[90m⠭[39m[34m⠽[39m[34m⢭[39m[90m⠭[39m[90m⢽[39m[34m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m </span></span>
|
|
740
|
+
<span id="cb14-16"><a href="#cb14-16" tabindex="-1"></a><span class="co">#> 15.0 [90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[34m⣓[39m[90m⣒[39m[90m⣒[39m[34m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[34m⣓[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m </span></span>
|
|
741
|
+
<span id="cb14-17"><a href="#cb14-17" tabindex="-1"></a><span class="co">#> [90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[34m⠒[39m[90m⠒[39m[34m⢺[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m </span></span>
|
|
742
|
+
<span id="cb14-18"><a href="#cb14-18" tabindex="-1"></a><span class="co">#> 10.0 ⣇⣀⣀[90m⣸[39m⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀[90m⣸[39m⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀[90m⣸[39m⣀⣀⣀⣀⣀[90m⣸[39m⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀[90m⣸[39m⣀⣀⣸ </span></span>
|
|
743
|
+
<span id="cb14-19"><a href="#cb14-19" tabindex="-1"></a><span class="co">#> 2.0 3.0 4.0 5.0 </span></span>
|
|
744
|
+
<span id="cb14-20"><a href="#cb14-20" tabindex="-1"></a><span class="co">#> wt </span></span>
|
|
745
|
+
<span id="cb14-21"><a href="#cb14-21" tabindex="-1"></a><span class="co">#> </span></span>
|
|
746
|
+
<span id="cb14-22"><a href="#cb14-22" tabindex="-1"></a></span>
|
|
747
|
+
<span id="cb14-23"><a href="#cb14-23" tabindex="-1"></a><span class="co"># theme_classic has border but no grid</span></span>
|
|
748
|
+
<span id="cb14-24"><a href="#cb14-24" tabindex="-1"></a><span class="fu">ggplotcli</span>(p <span class="sc">+</span> <span class="fu">theme_classic</span>() <span class="sc">+</span> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"theme_classic() - Border Only"</span>), </span>
|
|
749
|
+
<span id="cb14-25"><a href="#cb14-25" tabindex="-1"></a> <span class="at">width =</span> <span class="dv">60</span>, <span class="at">height =</span> <span class="dv">14</span>, <span class="at">border =</span> <span class="st">"auto"</span>, <span class="at">grid =</span> <span class="st">"auto"</span>)</span>
|
|
750
|
+
<span id="cb14-26"><a href="#cb14-26" tabindex="-1"></a><span class="co">#> </span></span>
|
|
751
|
+
<span id="cb14-27"><a href="#cb14-27" tabindex="-1"></a><span class="co">#> theme_classic() - Border Only </span></span>
|
|
752
|
+
<span id="cb14-28"><a href="#cb14-28" tabindex="-1"></a><span class="co">#> 35.0 ⡏⠉⠉[90m⢹[39m⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉[90m⢹[39m⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉[90m⢹[39m⠉⠉⠉⠉⠉[90m⢹[39m⠉⠉⠉⠉⠉[90m⡏[39m⠉⠉⠉⠉[90m⢹[39m⠉⠉⢹ </span></span>
|
|
753
|
+
<span id="cb14-29"><a href="#cb14-29" tabindex="-1"></a><span class="co">#> [90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[34m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⡧[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m[90m⠤[39m[90m⠤[39m[90m⢼[39m </span></span>
|
|
754
|
+
<span id="cb14-30"><a href="#cb14-30" tabindex="-1"></a><span class="co">#> 30.0 [90m⣏[39m[90m⣉[39m[90m⣉[39m[34m⣹[39m[90m⣉[39m[34m⣍[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣏[39m[90m⣉[39m[34m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣏[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣹[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣏[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣹[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣹[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣏[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣉[39m[90m⣹[39m[90m⣉[39m[90m⣉[39m[90m⣹[39m </span></span>
|
|
755
|
+
<span id="cb14-31"><a href="#cb14-31" tabindex="-1"></a><span class="co">#> m [90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[34m⣲[39m[90m⣗[39m[90m⣒[39m[34m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m </span></span>
|
|
756
|
+
<span id="cb14-32"><a href="#cb14-32" tabindex="-1"></a><span class="co">#> p 25.0 [90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[34m⡒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[34m⡒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m </span></span>
|
|
757
|
+
<span id="cb14-33"><a href="#cb14-33" tabindex="-1"></a><span class="co">#> g 20.0 [90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[34m⠭[39m[90m⡯[39m[34m⠯[39m[90m⠭[39m[34m⠭[39m[34m⠯[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[34m⠭[39m[90m⠭[39m[34m⢭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[34m⡭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m </span></span>
|
|
758
|
+
<span id="cb14-34"><a href="#cb14-34" tabindex="-1"></a><span class="co">#> [90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[34m⢭[39m[90m⠭[39m[90m⠭[39m[34m⢭[39m[34m⣯[39m[90m⠭[39m[34m⠽[39m[34m⢭[39m[90m⠭[39m[90m⢽[39m[34m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⡯[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m[90m⠭[39m[90m⠭[39m[90m⢽[39m </span></span>
|
|
759
|
+
<span id="cb14-35"><a href="#cb14-35" tabindex="-1"></a><span class="co">#> 15.0 [90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[34m⣓[39m[90m⣒[39m[90m⣒[39m[34m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[90m⣗[39m[90m⣒[39m[90m⣒[39m[90m⣒[39m[34m⣓[39m[90m⣺[39m[90m⣒[39m[90m⣒[39m[90m⣺[39m </span></span>
|
|
760
|
+
<span id="cb14-36"><a href="#cb14-36" tabindex="-1"></a><span class="co">#> [90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⠒[39m[90m⡗[39m[90m⠒[39m[90m⠒[39m[34m⠒[39m[90m⠒[39m[34m⢺[39m[90m⠒[39m[90m⠒[39m[90m⢺[39m </span></span>
|
|
761
|
+
<span id="cb14-37"><a href="#cb14-37" tabindex="-1"></a><span class="co">#> 10.0 ⣇⣀⣀[90m⣸[39m⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀[90m⣸[39m⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀[90m⣸[39m⣀⣀⣀⣀⣀[90m⣸[39m⣀⣀⣀⣀⣀[90m⣇[39m⣀⣀⣀⣀[90m⣸[39m⣀⣀⣸ </span></span>
|
|
762
|
+
<span id="cb14-38"><a href="#cb14-38" tabindex="-1"></a><span class="co">#> 2.0 3.0 4.0 5.0 </span></span>
|
|
763
|
+
<span id="cb14-39"><a href="#cb14-39" tabindex="-1"></a><span class="co">#> wt </span></span>
|
|
764
|
+
<span id="cb14-40"><a href="#cb14-40" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
765
|
+
</div>
|
|
766
|
+
</div>
|
|
767
|
+
<div id="canvas-types" class="section level2">
|
|
768
|
+
<h2>Canvas Types</h2>
|
|
769
|
+
<p>Three rendering modes are available:</p>
|
|
770
|
+
<div class="sourceCode" id="cb15"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb15-1"><a href="#cb15-1" tabindex="-1"></a>wave <span class="ot"><-</span> <span class="fu">ggplot</span>(<span class="fu">data.frame</span>(<span class="at">x =</span> <span class="dv">1</span><span class="sc">:</span><span class="dv">25</span>, <span class="at">y =</span> <span class="fu">sin</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">25</span><span class="sc">/</span><span class="dv">4</span>)<span class="sc">*</span><span class="dv">8</span>), <span class="fu">aes</span>(x, y)) <span class="sc">+</span></span>
|
|
771
|
+
<span id="cb15-2"><a href="#cb15-2" tabindex="-1"></a> <span class="fu">geom_line</span>(<span class="at">color =</span> <span class="st">"green"</span>)</span>
|
|
772
|
+
<span id="cb15-3"><a href="#cb15-3" tabindex="-1"></a></span>
|
|
773
|
+
<span id="cb15-4"><a href="#cb15-4" tabindex="-1"></a><span class="co"># Braille (highest resolution - 2x4 dots per character)</span></span>
|
|
774
|
+
<span id="cb15-5"><a href="#cb15-5" tabindex="-1"></a><span class="fu">ggplotcli</span>(wave <span class="sc">+</span> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Braille Canvas (highest resolution)"</span>), </span>
|
|
775
|
+
<span id="cb15-6"><a href="#cb15-6" tabindex="-1"></a> <span class="at">width =</span> <span class="dv">50</span>, <span class="at">height =</span> <span class="dv">8</span>, <span class="at">canvas_type =</span> <span class="st">"braille"</span>)</span>
|
|
776
|
+
<span id="cb15-7"><a href="#cb15-7" tabindex="-1"></a><span class="co">#> </span></span>
|
|
777
|
+
<span id="cb15-8"><a href="#cb15-8" tabindex="-1"></a><span class="co">#> Braille Canvas (highest resolution) </span></span>
|
|
778
|
+
<span id="cb15-9"><a href="#cb15-9" tabindex="-1"></a><span class="co">#> [32m⢀[39m[32m⣀[39m[32m⠤[39m[32m⠔[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠒[39m[32m⠤[39m[32m⢄[39m[32m⡀[39m </span></span>
|
|
779
|
+
<span id="cb15-10"><a href="#cb15-10" tabindex="-1"></a><span class="co">#> y 5.0 [32m⠔[39m[32m⠊[39m[32m⠁[39m [32m⠈[39m[32m⠑[39m[32m⠤[39m[32m⣀[39m </span></span>
|
|
780
|
+
<span id="cb15-11"><a href="#cb15-11" tabindex="-1"></a><span class="co">#> -5.0 [32m⠉[39m[32m⠑[39m[32m⠢[39m[32m⢄[39m[32m⡀[39m [32m⣀[39m[32m⠤[39m[32m⠒[39m[32m⠉[39m </span></span>
|
|
781
|
+
<span id="cb15-12"><a href="#cb15-12" tabindex="-1"></a><span class="co">#> [32m⠈[39m[32m⠑[39m[32m⠢[39m[32m⠤[39m[32m⠤[39m[32m⠤[39m[32m⠤[39m[32m⠤[39m[32m⠤[39m[32m⠒[39m[32m⠊[39m[32m⠉[39m </span></span>
|
|
782
|
+
<span id="cb15-13"><a href="#cb15-13" tabindex="-1"></a><span class="co">#> 0 5.0 10.0 15.0 20.0 25.0 </span></span>
|
|
783
|
+
<span id="cb15-14"><a href="#cb15-14" tabindex="-1"></a><span class="co">#> x </span></span>
|
|
784
|
+
<span id="cb15-15"><a href="#cb15-15" tabindex="-1"></a><span class="co">#> </span></span>
|
|
785
|
+
<span id="cb15-16"><a href="#cb15-16" tabindex="-1"></a></span>
|
|
786
|
+
<span id="cb15-17"><a href="#cb15-17" tabindex="-1"></a><span class="co"># Block (medium resolution - uses block characters)</span></span>
|
|
787
|
+
<span id="cb15-18"><a href="#cb15-18" tabindex="-1"></a><span class="fu">ggplotcli</span>(wave <span class="sc">+</span> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Block Canvas (medium resolution)"</span>), </span>
|
|
788
|
+
<span id="cb15-19"><a href="#cb15-19" tabindex="-1"></a> <span class="at">width =</span> <span class="dv">50</span>, <span class="at">height =</span> <span class="dv">8</span>, <span class="at">canvas_type =</span> <span class="st">"block"</span>)</span>
|
|
789
|
+
<span id="cb15-20"><a href="#cb15-20" tabindex="-1"></a><span class="co">#> </span></span>
|
|
790
|
+
<span id="cb15-21"><a href="#cb15-21" tabindex="-1"></a><span class="co">#> Block Canvas (medium resolution) </span></span>
|
|
791
|
+
<span id="cb15-22"><a href="#cb15-22" tabindex="-1"></a><span class="co">#> [32m▄[39m[32m▄[39m[32m▄[39m[32m▀[39m[32m▀[39m[32m▀[39m[32m▀[39m[32m▀[39m[32m▄[39m[32m▄[39m[32m▄[39m </span></span>
|
|
792
|
+
<span id="cb15-23"><a href="#cb15-23" tabindex="-1"></a><span class="co">#> y 5.0 [32m▄[39m[32m▀[39m[32m▀[39m [32m▀[39m[32m▀[39m[32m▀[39m[32m▄[39m[32m▄[39m </span></span>
|
|
793
|
+
<span id="cb15-24"><a href="#cb15-24" tabindex="-1"></a><span class="co">#> -5.0 [32m▀[39m[32m▄[39m[32m▄[39m[32m▄[39m [32m▄[39m[32m▄[39m[32m▀[39m[32m▀[39m </span></span>
|
|
794
|
+
<span id="cb15-25"><a href="#cb15-25" tabindex="-1"></a><span class="co">#> [32m▀[39m[32m▀[39m[32m▀[39m[32m▄[39m[32m▄[39m[32m▄[39m[32m▄[39m[32m▄[39m[32m▀[39m[32m▀[39m[32m▀[39m </span></span>
|
|
795
|
+
<span id="cb15-26"><a href="#cb15-26" tabindex="-1"></a><span class="co">#> 0 5.0 10.0 15.0 20.0 25.0 </span></span>
|
|
796
|
+
<span id="cb15-27"><a href="#cb15-27" tabindex="-1"></a><span class="co">#> x </span></span>
|
|
797
|
+
<span id="cb15-28"><a href="#cb15-28" tabindex="-1"></a><span class="co">#> </span></span>
|
|
798
|
+
<span id="cb15-29"><a href="#cb15-29" tabindex="-1"></a></span>
|
|
799
|
+
<span id="cb15-30"><a href="#cb15-30" tabindex="-1"></a><span class="co"># ASCII (basic, most compatible)</span></span>
|
|
800
|
+
<span id="cb15-31"><a href="#cb15-31" tabindex="-1"></a><span class="fu">ggplotcli</span>(wave <span class="sc">+</span> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"ASCII Canvas (most compatible)"</span>), </span>
|
|
801
|
+
<span id="cb15-32"><a href="#cb15-32" tabindex="-1"></a> <span class="at">width =</span> <span class="dv">50</span>, <span class="at">height =</span> <span class="dv">8</span>, <span class="at">canvas_type =</span> <span class="st">"ascii"</span>)</span>
|
|
802
|
+
<span id="cb15-33"><a href="#cb15-33" tabindex="-1"></a><span class="co">#> </span></span>
|
|
803
|
+
<span id="cb15-34"><a href="#cb15-34" tabindex="-1"></a><span class="co">#> ASCII Canvas (most compatible) </span></span>
|
|
804
|
+
<span id="cb15-35"><a href="#cb15-35" tabindex="-1"></a><span class="co">#> [32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m </span></span>
|
|
805
|
+
<span id="cb15-36"><a href="#cb15-36" tabindex="-1"></a><span class="co">#> y 5.0 [32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m [32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m </span></span>
|
|
806
|
+
<span id="cb15-37"><a href="#cb15-37" tabindex="-1"></a><span class="co">#> -5.0 [32m*[39m[32m*[39m[32m*[39m[32m*[39m [32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m </span></span>
|
|
807
|
+
<span id="cb15-38"><a href="#cb15-38" tabindex="-1"></a><span class="co">#> [32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m[32m*[39m </span></span>
|
|
808
|
+
<span id="cb15-39"><a href="#cb15-39" tabindex="-1"></a><span class="co">#> 0 5.0 10.0 15.0 20.0 25.0 </span></span>
|
|
809
|
+
<span id="cb15-40"><a href="#cb15-40" tabindex="-1"></a><span class="co">#> x </span></span>
|
|
810
|
+
<span id="cb15-41"><a href="#cb15-41" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
811
|
+
</div>
|
|
812
|
+
<div id="color-mapping" class="section level2">
|
|
813
|
+
<h2>Color Mapping</h2>
|
|
814
|
+
<p>ggplotcli intelligently maps ggplot2 colors to terminal colors (red,
|
|
815
|
+
yellow, green, cyan, blue, magenta). The mapping prioritizes
|
|
816
|
+
<strong>color distinctness</strong> over hue accuracy to maximize visual
|
|
817
|
+
differentiation between groups.</p>
|
|
818
|
+
<div id="many-groups-8" class="section level3">
|
|
819
|
+
<h3>Many Groups (8+)</h3>
|
|
820
|
+
<p>Even with many groups, colors are distributed to minimize
|
|
821
|
+
repetition:</p>
|
|
822
|
+
<div class="sourceCode" id="cb16"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb16-1"><a href="#cb16-1" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">123</span>)</span>
|
|
823
|
+
<span id="cb16-2"><a href="#cb16-2" tabindex="-1"></a>df <span class="ot"><-</span> <span class="fu">data.frame</span>(</span>
|
|
824
|
+
<span id="cb16-3"><a href="#cb16-3" tabindex="-1"></a> <span class="at">group =</span> <span class="fu">factor</span>(<span class="fu">rep</span>(<span class="fu">paste0</span>(<span class="st">"G"</span>, <span class="dv">1</span><span class="sc">:</span><span class="dv">8</span>), <span class="at">each =</span> <span class="dv">30</span>)),</span>
|
|
825
|
+
<span id="cb16-4"><a href="#cb16-4" tabindex="-1"></a> <span class="at">value =</span> <span class="fu">unlist</span>(<span class="fu">lapply</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">8</span>, <span class="cf">function</span>(i) <span class="fu">rnorm</span>(<span class="dv">30</span>, <span class="at">mean =</span> i <span class="sc">*</span> <span class="dv">2</span>, <span class="at">sd =</span> <span class="fl">1.5</span>)))</span>
|
|
826
|
+
<span id="cb16-5"><a href="#cb16-5" tabindex="-1"></a>)</span>
|
|
827
|
+
<span id="cb16-6"><a href="#cb16-6" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(df, <span class="fu">aes</span>(<span class="at">x =</span> group, <span class="at">y =</span> value, <span class="at">fill =</span> group)) <span class="sc">+</span></span>
|
|
828
|
+
<span id="cb16-7"><a href="#cb16-7" tabindex="-1"></a> <span class="fu">geom_boxplot</span>() <span class="sc">+</span></span>
|
|
829
|
+
<span id="cb16-8"><a href="#cb16-8" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"8 Groups with Optimized Color Distribution"</span>)</span>
|
|
830
|
+
<span id="cb16-9"><a href="#cb16-9" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">85</span>, <span class="at">height =</span> <span class="dv">18</span>, <span class="at">boxplot_style =</span> <span class="st">"ascii"</span>)</span>
|
|
831
|
+
<span id="cb16-10"><a href="#cb16-10" tabindex="-1"></a><span class="co">#> </span></span>
|
|
832
|
+
<span id="cb16-11"><a href="#cb16-11" tabindex="-1"></a><span class="co">#> 8 Groups with Optimized Color Distribution </span></span>
|
|
833
|
+
<span id="cb16-12"><a href="#cb16-12" tabindex="-1"></a><span class="co">#> [33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m </span></span>
|
|
834
|
+
<span id="cb16-13"><a href="#cb16-13" tabindex="-1"></a><span class="co">#> [35m*[39m [31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m [33m┌[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m┐[39m group </span></span>
|
|
835
|
+
<span id="cb16-14"><a href="#cb16-14" tabindex="-1"></a><span class="co">#> [35m*[39m [31m┌[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┐[39m [33m└[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m┘[39m [31m*[39m G1 </span></span>
|
|
836
|
+
<span id="cb16-15"><a href="#cb16-15" tabindex="-1"></a><span class="co">#> 15.0 [35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m [31m│[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m│[39m [33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m [33m*[39m G2 </span></span>
|
|
837
|
+
<span id="cb16-16"><a href="#cb16-16" tabindex="-1"></a><span class="co">#> v [34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m [35m┌[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m┐[39m [31m└[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┘[39m [32m*[39m G3 </span></span>
|
|
838
|
+
<span id="cb16-17"><a href="#cb16-17" tabindex="-1"></a><span class="co">#> a [36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m [34m┌[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m┐[39m [35m└[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m─[39m[35m┘[39m [36m*[39m G4 </span></span>
|
|
839
|
+
<span id="cb16-18"><a href="#cb16-18" tabindex="-1"></a><span class="co">#> l 10.0 [32m*[39m [36m┌[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m┐[39m [34m│[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m│[39m [34m*[39m G5 </span></span>
|
|
840
|
+
<span id="cb16-19"><a href="#cb16-19" tabindex="-1"></a><span class="co">#> u [33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m [32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m [36m└[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m┘[39m [34m└[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m─[39m[34m┘[39m [35m*[39m G6 </span></span>
|
|
841
|
+
<span id="cb16-20"><a href="#cb16-20" tabindex="-1"></a><span class="co">#> e [33m│[39m [32m└[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m┘[39m [36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m [31m*[39m G7 </span></span>
|
|
842
|
+
<span id="cb16-21"><a href="#cb16-21" tabindex="-1"></a><span class="co">#> 5.0 [31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m [33m┌[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m┐[39m [32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m [33m*[39m G8 </span></span>
|
|
843
|
+
<span id="cb16-22"><a href="#cb16-22" tabindex="-1"></a><span class="co">#> [31m┌[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┐[39m [33m└[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m┘[39m [32m*[39m </span></span>
|
|
844
|
+
<span id="cb16-23"><a href="#cb16-23" tabindex="-1"></a><span class="co">#> [31m└[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┘[39m [33m─[39m[33m─[39m[33m─[39m[33m─[39m[33m─[39m </span></span>
|
|
845
|
+
<span id="cb16-24"><a href="#cb16-24" tabindex="-1"></a><span class="co">#> 0 [31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m </span></span>
|
|
846
|
+
<span id="cb16-25"><a href="#cb16-25" tabindex="-1"></a><span class="co">#> </span></span>
|
|
847
|
+
<span id="cb16-26"><a href="#cb16-26" tabindex="-1"></a><span class="co">#> G1 G2 G3 G4 G5 G6 G7 G8 </span></span>
|
|
848
|
+
<span id="cb16-27"><a href="#cb16-27" tabindex="-1"></a><span class="co">#> group </span></span>
|
|
849
|
+
<span id="cb16-28"><a href="#cb16-28" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
850
|
+
</div>
|
|
851
|
+
</div>
|
|
852
|
+
<div id="showcase-maximum-complexity" class="section level2">
|
|
853
|
+
<h2>Showcase: Maximum Complexity</h2>
|
|
854
|
+
<div id="complex-faceted-boxplot" class="section level3">
|
|
855
|
+
<h3>Complex Faceted Boxplot</h3>
|
|
856
|
+
<div class="sourceCode" id="cb17"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb17-1"><a href="#cb17-1" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">42</span>)</span>
|
|
857
|
+
<span id="cb17-2"><a href="#cb17-2" tabindex="-1"></a>df <span class="ot"><-</span> <span class="fu">data.frame</span>(</span>
|
|
858
|
+
<span id="cb17-3"><a href="#cb17-3" tabindex="-1"></a> <span class="at">treatment =</span> <span class="fu">factor</span>(<span class="fu">rep</span>(<span class="fu">c</span>(<span class="st">"Control"</span>, <span class="st">"Drug A"</span>, <span class="st">"Drug B"</span>), <span class="at">each =</span> <span class="dv">60</span>)),</span>
|
|
859
|
+
<span id="cb17-4"><a href="#cb17-4" tabindex="-1"></a> <span class="at">timepoint =</span> <span class="fu">factor</span>(<span class="fu">rep</span>(<span class="fu">rep</span>(<span class="fu">c</span>(<span class="st">"Baseline"</span>, <span class="st">"Week 4"</span>, <span class="st">"Week 8"</span>), <span class="at">each =</span> <span class="dv">20</span>), <span class="dv">3</span>)),</span>
|
|
860
|
+
<span id="cb17-5"><a href="#cb17-5" tabindex="-1"></a> <span class="at">response =</span> <span class="fu">c</span>(</span>
|
|
861
|
+
<span id="cb17-6"><a href="#cb17-6" tabindex="-1"></a> <span class="fu">rnorm</span>(<span class="dv">20</span>, <span class="dv">50</span>, <span class="dv">10</span>), <span class="fu">rnorm</span>(<span class="dv">20</span>, <span class="dv">52</span>, <span class="dv">10</span>), <span class="fu">rnorm</span>(<span class="dv">20</span>, <span class="dv">51</span>, <span class="dv">10</span>), <span class="co"># Control</span></span>
|
|
862
|
+
<span id="cb17-7"><a href="#cb17-7" tabindex="-1"></a> <span class="fu">rnorm</span>(<span class="dv">20</span>, <span class="dv">50</span>, <span class="dv">10</span>), <span class="fu">rnorm</span>(<span class="dv">20</span>, <span class="dv">65</span>, <span class="dv">12</span>), <span class="fu">rnorm</span>(<span class="dv">20</span>, <span class="dv">70</span>, <span class="dv">11</span>), <span class="co"># Drug A</span></span>
|
|
863
|
+
<span id="cb17-8"><a href="#cb17-8" tabindex="-1"></a> <span class="fu">rnorm</span>(<span class="dv">20</span>, <span class="dv">50</span>, <span class="dv">10</span>), <span class="fu">rnorm</span>(<span class="dv">20</span>, <span class="dv">58</span>, <span class="dv">11</span>), <span class="fu">rnorm</span>(<span class="dv">20</span>, <span class="dv">62</span>, <span class="dv">10</span>) <span class="co"># Drug B</span></span>
|
|
864
|
+
<span id="cb17-9"><a href="#cb17-9" tabindex="-1"></a> )</span>
|
|
865
|
+
<span id="cb17-10"><a href="#cb17-10" tabindex="-1"></a>)</span>
|
|
866
|
+
<span id="cb17-11"><a href="#cb17-11" tabindex="-1"></a></span>
|
|
867
|
+
<span id="cb17-12"><a href="#cb17-12" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(df, <span class="fu">aes</span>(<span class="at">x =</span> timepoint, <span class="at">y =</span> response)) <span class="sc">+</span></span>
|
|
868
|
+
<span id="cb17-13"><a href="#cb17-13" tabindex="-1"></a> <span class="fu">geom_boxplot</span>(<span class="fu">aes</span>(<span class="at">fill =</span> treatment)) <span class="sc">+</span></span>
|
|
869
|
+
<span id="cb17-14"><a href="#cb17-14" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Treatment Response Over Time"</span>,</span>
|
|
870
|
+
<span id="cb17-15"><a href="#cb17-15" tabindex="-1"></a> <span class="at">subtitle =</span> <span class="st">"Faceted by treatment group"</span>,</span>
|
|
871
|
+
<span id="cb17-16"><a href="#cb17-16" tabindex="-1"></a> <span class="at">x =</span> <span class="st">"Timepoint"</span>, <span class="at">y =</span> <span class="st">"Response"</span>) <span class="sc">+</span></span>
|
|
872
|
+
<span id="cb17-17"><a href="#cb17-17" tabindex="-1"></a> <span class="fu">theme_bw</span>()</span>
|
|
873
|
+
<span id="cb17-18"><a href="#cb17-18" tabindex="-1"></a></span>
|
|
874
|
+
<span id="cb17-19"><a href="#cb17-19" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">100</span>, <span class="at">height =</span> <span class="dv">22</span>, <span class="at">boxplot_style =</span> <span class="st">"ascii"</span>)</span>
|
|
875
|
+
<span id="cb17-20"><a href="#cb17-20" tabindex="-1"></a><span class="co">#> </span></span>
|
|
876
|
+
<span id="cb17-21"><a href="#cb17-21" tabindex="-1"></a><span class="co">#> Treatment Response Over Time </span></span>
|
|
877
|
+
<span id="cb17-22"><a href="#cb17-22" tabindex="-1"></a><span class="co">#> Faceted by treatment group </span></span>
|
|
878
|
+
<span id="cb17-23"><a href="#cb17-23" tabindex="-1"></a><span class="co">#> ⡏⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⢹ </span></span>
|
|
879
|
+
<span id="cb17-24"><a href="#cb17-24" tabindex="-1"></a><span class="co">#> 100 ⡇ [32m*[39m ⢸ </span></span>
|
|
880
|
+
<span id="cb17-25"><a href="#cb17-25" tabindex="-1"></a><span class="co">#> ⡇ ⢸ </span></span>
|
|
881
|
+
<span id="cb17-26"><a href="#cb17-26" tabindex="-1"></a><span class="co">#> ⡇ [32m*[39m ⢸ </span></span>
|
|
882
|
+
<span id="cb17-27"><a href="#cb17-27" tabindex="-1"></a><span class="co">#> R 80.0 ⡇ [32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m [32m─[39m[32m─[39m[32m*[39m[32m─[39m[32m─[39m ⢸ </span></span>
|
|
883
|
+
<span id="cb17-28"><a href="#cb17-28" tabindex="-1"></a><span class="co">#> e ⡇ [32m┌[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m┐[39m [32m│[39m [36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m ⢸ treatment </span></span>
|
|
884
|
+
<span id="cb17-29"><a href="#cb17-29" tabindex="-1"></a><span class="co">#> s ⡇ [31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m [31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m [32m│[39m [32m│[39m [36m*[39m [32m┌[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m┐[39m[36m┌[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m┐[39m ⢸ [31m*[39m Control </span></span>
|
|
885
|
+
<span id="cb17-30"><a href="#cb17-30" tabindex="-1"></a><span class="co">#> p ⡇ [31m┌[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┐[39m [32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m [36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m [31m│[39m [32m│[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m│[39m [36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m [31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m [32m└[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m┘[39m[36m│[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m│[39m ⢸ [32m*[39m Drug A </span></span>
|
|
886
|
+
<span id="cb17-31"><a href="#cb17-31" tabindex="-1"></a><span class="co">#> o 60.0 ⡇ [31m│[39m [31m│[39m[32m┌[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m┐[39m [36m│[39m [31m┌[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┐[39m[32m└[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m┘[39m[36m┌[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m┐[39m [31m┌[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┐[39m [32m│[39m [36m└[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m┘[39m ⢸ [36m*[39m Drug B </span></span>
|
|
887
|
+
<span id="cb17-32"><a href="#cb17-32" tabindex="-1"></a><span class="co">#> n ⡇ [31m│[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m│[39m[32m│[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m│[39m[36m┌[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m┐[39m [31m│[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m│[39m [32m│[39m [36m└[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m┘[39m [31m│[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m│[39m [32m─[39m[32m─[39m[32m*[39m[32m─[39m[32m─[39m [36m│[39m ⢸ </span></span>
|
|
888
|
+
<span id="cb17-33"><a href="#cb17-33" tabindex="-1"></a><span class="co">#> s ⡇ [31m└[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┘[39m[32m└[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m┘[39m[36m│[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m│[39m [31m└[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┘[39m [32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m [36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m [31m└[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m┘[39m [36m─[39m[36m─[39m[36m*[39m[36m─[39m[36m─[39m ⢸ </span></span>
|
|
889
|
+
<span id="cb17-34"><a href="#cb17-34" tabindex="-1"></a><span class="co">#> e ⡇ [31m│[39m [32m─[39m[32m─[39m[32m─[39m[32m─[39m[32m─[39m [36m└[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m┘[39m [31m│[39m [36m*[39m [31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m ⢸ </span></span>
|
|
890
|
+
<span id="cb17-35"><a href="#cb17-35" tabindex="-1"></a><span class="co">#> 40.0 ⡇ [31m│[39m [36m│[39m [31m│[39m ⢸ </span></span>
|
|
891
|
+
<span id="cb17-36"><a href="#cb17-36" tabindex="-1"></a><span class="co">#> ⡇ [31m│[39m [36m─[39m[36m─[39m[36m─[39m[36m─[39m[36m─[39m [31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m ⢸ </span></span>
|
|
892
|
+
<span id="cb17-37"><a href="#cb17-37" tabindex="-1"></a><span class="co">#> ⡇ [31m─[39m[31m─[39m[31m─[39m[31m─[39m[31m─[39m [31m*[39m ⢸ </span></span>
|
|
893
|
+
<span id="cb17-38"><a href="#cb17-38" tabindex="-1"></a><span class="co">#> 20.0 ⡇ ⢸ </span></span>
|
|
894
|
+
<span id="cb17-39"><a href="#cb17-39" tabindex="-1"></a><span class="co">#> ⣇⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣸ </span></span>
|
|
895
|
+
<span id="cb17-40"><a href="#cb17-40" tabindex="-1"></a><span class="co">#> Baseline Week 4 Week 8 </span></span>
|
|
896
|
+
<span id="cb17-41"><a href="#cb17-41" tabindex="-1"></a><span class="co">#> Timepoint </span></span>
|
|
897
|
+
<span id="cb17-42"><a href="#cb17-42" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
898
|
+
</div>
|
|
899
|
+
<div id="multi-layer-scientific-plot" class="section level3">
|
|
900
|
+
<h3>Multi-Layer Scientific Plot</h3>
|
|
901
|
+
<div class="sourceCode" id="cb18"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb18-1"><a href="#cb18-1" tabindex="-1"></a><span class="co"># Simulated experiment data</span></span>
|
|
902
|
+
<span id="cb18-2"><a href="#cb18-2" tabindex="-1"></a><span class="fu">set.seed</span>(<span class="dv">123</span>)</span>
|
|
903
|
+
<span id="cb18-3"><a href="#cb18-3" tabindex="-1"></a>x <span class="ot"><-</span> <span class="fu">seq</span>(<span class="dv">0</span>, <span class="dv">10</span>, <span class="at">length.out =</span> <span class="dv">50</span>)</span>
|
|
904
|
+
<span id="cb18-4"><a href="#cb18-4" tabindex="-1"></a>df <span class="ot"><-</span> <span class="fu">data.frame</span>(</span>
|
|
905
|
+
<span id="cb18-5"><a href="#cb18-5" tabindex="-1"></a> <span class="at">x =</span> <span class="fu">rep</span>(x, <span class="dv">3</span>),</span>
|
|
906
|
+
<span id="cb18-6"><a href="#cb18-6" tabindex="-1"></a> <span class="at">y =</span> <span class="fu">c</span>(</span>
|
|
907
|
+
<span id="cb18-7"><a href="#cb18-7" tabindex="-1"></a> <span class="dv">2</span> <span class="sc">*</span> x <span class="sc">+</span> <span class="fu">rnorm</span>(<span class="dv">50</span>, <span class="dv">0</span>, <span class="fl">1.5</span>),</span>
|
|
908
|
+
<span id="cb18-8"><a href="#cb18-8" tabindex="-1"></a> <span class="fl">1.5</span> <span class="sc">*</span> x <span class="sc">+</span> <span class="dv">3</span> <span class="sc">+</span> <span class="fu">rnorm</span>(<span class="dv">50</span>, <span class="dv">0</span>, <span class="fl">1.2</span>),</span>
|
|
909
|
+
<span id="cb18-9"><a href="#cb18-9" tabindex="-1"></a> x<span class="sc">^</span><span class="fl">1.2</span> <span class="sc">+</span> <span class="fu">rnorm</span>(<span class="dv">50</span>, <span class="dv">0</span>, <span class="dv">1</span>)</span>
|
|
910
|
+
<span id="cb18-10"><a href="#cb18-10" tabindex="-1"></a> ),</span>
|
|
911
|
+
<span id="cb18-11"><a href="#cb18-11" tabindex="-1"></a> <span class="at">group =</span> <span class="fu">rep</span>(<span class="fu">c</span>(<span class="st">"Linear"</span>, <span class="st">"Offset"</span>, <span class="st">"Power"</span>), <span class="at">each =</span> <span class="dv">50</span>)</span>
|
|
912
|
+
<span id="cb18-12"><a href="#cb18-12" tabindex="-1"></a>)</span>
|
|
913
|
+
<span id="cb18-13"><a href="#cb18-13" tabindex="-1"></a></span>
|
|
914
|
+
<span id="cb18-14"><a href="#cb18-14" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(df, <span class="fu">aes</span>(<span class="at">x =</span> x, <span class="at">y =</span> y, <span class="at">color =</span> group)) <span class="sc">+</span></span>
|
|
915
|
+
<span id="cb18-15"><a href="#cb18-15" tabindex="-1"></a> <span class="fu">geom_point</span>(<span class="at">alpha =</span> <span class="fl">0.6</span>) <span class="sc">+</span></span>
|
|
916
|
+
<span id="cb18-16"><a href="#cb18-16" tabindex="-1"></a> <span class="fu">geom_smooth</span>(<span class="at">method =</span> <span class="st">"loess"</span>, <span class="at">se =</span> <span class="cn">FALSE</span>) <span class="sc">+</span></span>
|
|
917
|
+
<span id="cb18-17"><a href="#cb18-17" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Multi-Group Regression Analysis"</span>,</span>
|
|
918
|
+
<span id="cb18-18"><a href="#cb18-18" tabindex="-1"></a> <span class="at">subtitle =</span> <span class="st">"Points with LOESS smoothing"</span>,</span>
|
|
919
|
+
<span id="cb18-19"><a href="#cb18-19" tabindex="-1"></a> <span class="at">x =</span> <span class="st">"Predictor"</span>, <span class="at">y =</span> <span class="st">"Response"</span>) <span class="sc">+</span></span>
|
|
920
|
+
<span id="cb18-20"><a href="#cb18-20" tabindex="-1"></a> <span class="fu">theme_minimal</span>()</span>
|
|
921
|
+
<span id="cb18-21"><a href="#cb18-21" tabindex="-1"></a></span>
|
|
922
|
+
<span id="cb18-22"><a href="#cb18-22" tabindex="-1"></a><span class="fu">suppressMessages</span>(<span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">70</span>, <span class="at">height =</span> <span class="dv">18</span>))</span>
|
|
923
|
+
<span id="cb18-23"><a href="#cb18-23" tabindex="-1"></a><span class="co">#> </span></span>
|
|
924
|
+
<span id="cb18-24"><a href="#cb18-24" tabindex="-1"></a><span class="co">#> Multi-Group Regression Analysis </span></span>
|
|
925
|
+
<span id="cb18-25"><a href="#cb18-25" tabindex="-1"></a><span class="co">#> Points with LOESS smoothing </span></span>
|
|
926
|
+
<span id="cb18-26"><a href="#cb18-26" tabindex="-1"></a><span class="co">#> [31m⠄[39m [31m⠠[39m </span></span>
|
|
927
|
+
<span id="cb18-27"><a href="#cb18-27" tabindex="-1"></a><span class="co">#> 20.0 [31m⠂[39m[31m⢀[39m[31m⡐[39m[31m⣤[39m[31m⢰[39m[31m⣾[39m </span></span>
|
|
928
|
+
<span id="cb18-28"><a href="#cb18-28" tabindex="-1"></a><span class="co">#> R [31m⡀[39m[31m⣠[39m[31m⡄[39m[31m⣶[39m[31m⢰[39m[31m⣇[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m </span></span>
|
|
929
|
+
<span id="cb18-29"><a href="#cb18-29" tabindex="-1"></a><span class="co">#> e 15.0 [31m⢀[39m[31m⢀[39m[31m⠠[39m[31m⡀[39m[31m⣤[39m[31m⣠[39m[31m⣾[39m[31m⣸[39m[31m⣯[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⡟[39m[31m⣿[39m[31m⢹[39m[31m⠿[39m group </span></span>
|
|
930
|
+
<span id="cb18-30"><a href="#cb18-30" tabindex="-1"></a><span class="co">#> s [31m⠂[39m[31m⡀[39m[31m⡀[39m[31m⣬[39m[31m⢰[39m[31m⣾[39m[31m⣸[39m[31m⣧[39m[31m⣿[39m[31m⣾[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⡟[39m[31m⣿[39m[31m⠹[39m[31m⠇[39m[31m⠛[39m[31m⢁[39m[31m⠁[39m [36m⠈[39m [31m*[39m Linear </span></span>
|
|
931
|
+
<span id="cb18-31"><a href="#cb18-31" tabindex="-1"></a><span class="co">#> p [32m⢀[39m [32m⡀[39m [32m⠐[39m[31m⠐[39m[31m⣀[39m[31m⣠[39m[31m⢠[39m[31m⣦[39m[31m⣿[39m[31m⣷[39m[31m⣿[39m[31m⣿[39m[31m⣿[39m[31m⢿[39m[31m⡟[39m[31m⣿[39m[31m⢻[39m[31m⠿[39m[31m⠸[39m[31m⠃[39m[31m⠋[39m[31m⠡[39m [36m⠂[39m[36m⠁[39m [32m*[39m Offset </span></span>
|
|
932
|
+
<span id="cb18-32"><a href="#cb18-32" tabindex="-1"></a><span class="co">#> o 10.0 [32m⠠[39m [31m⡀[39m[31m⣠[39m[31m⢠[39m[31m⣴[39m[31m⢴[39m[31m⡇[39m[31m⣿[39m[31m⣷[39m[31m⣿[39m[31m⣿[39m[31m⡟[39m[31m⣿[39m[31m⡏[39m[31m⡿[39m[31m⢸[39m[31m⠛[39m[31m⠘[39m[31m⠁[39m[31m⡁[39m [36m⠈[39m [36m*[39m Power </span></span>
|
|
933
|
+
<span id="cb18-33"><a href="#cb18-33" tabindex="-1"></a><span class="co">#> n [31m⡀[39m[31m⣥[39m[31m⡆[39m[31m⣶[39m[31m⢰[39m[31m⣿[39m[31m⢸[39m[31m⡇[39m[31m⣿[39m[31m⣸[39m[31m⣿[39m[31m⣿[39m[31m⡿[39m[31m⣿[39m[31m⡯[39m[31m⠿[39m[31m⠘[39m[31m⠃[39m[31m⠉[39m [36m⠐[39m </span></span>
|
|
934
|
+
<span id="cb18-34"><a href="#cb18-34" tabindex="-1"></a><span class="co">#> s [32m⡀[39m [32m⠐[39m [31m⢄[39m[31m⣀[39m[31m⢤[39m[31m⡆[39m[31m⣶[39m[31m⣖[39m[31m⣿[39m[31m⢸[39m[31m⡇[39m[31m⣿[39m[31m⣇[39m[31m⣿[39m[31m⣼[39m[31m⣿[39m[31m⢾[39m[31m⡟[39m[31m⡿[39m[31m⡹[39m[31m⠟[39m[31m⠘[39m[31m⠑[39m[31m⠁[39m [36m⠈[39m </span></span>
|
|
935
|
+
<span id="cb18-35"><a href="#cb18-35" tabindex="-1"></a><span class="co">#> e 5.0 [31m⢀[39m[31m⡀[39m[31m⣠[39m[31m⢠[39m[31m⣴[39m[31m⢰[39m[31m⡇[39m[31m⣿[39m[31m⢸[39m[31m⣿[39m[31m⢸[39m[31m⡇[39m[31m⣿[39m[31m⣧[39m[31m⣿[39m[31m⣾[39m[31m⡿[39m[31m⣿[39m[31m⡟[39m[31m⡿[39m[31m⠹[39m[31m⠫[39m[31m⠈[39m [36m⠂[39m </span></span>
|
|
936
|
+
<span id="cb18-36"><a href="#cb18-36" tabindex="-1"></a><span class="co">#> [31m⣿[39m[31m⡇[39m[31m⣿[39m[31m⢸[39m[31m⣿[39m[31m⣸[39m[31m⣿[39m[31m⣿[39m[31m⢾[39m[31m⣿[39m[31m⢻[39m[31m⡟[39m[31m⠿[39m[31m⠃[39m[31m⠛[39m[31m⠈[39m[31m⠁[39m </span></span>
|
|
937
|
+
<span id="cb18-37"><a href="#cb18-37" tabindex="-1"></a><span class="co">#> 0 [31m⣿[39m[31m⡷[39m[31m⣿[39m[31m⠿[39m[31m⢿[39m[31m⠙[39m[31m⠣[39m[31m⠋[39m[31m⡊[39m[31m⠁[39m [36m⠈[39m </span></span>
|
|
938
|
+
<span id="cb18-38"><a href="#cb18-38" tabindex="-1"></a><span class="co">#> [31m⠋[39m </span></span>
|
|
939
|
+
<span id="cb18-39"><a href="#cb18-39" tabindex="-1"></a><span class="co">#> 0 2.0 4.0 6.0 8.0 10.0 </span></span>
|
|
940
|
+
<span id="cb18-40"><a href="#cb18-40" tabindex="-1"></a><span class="co">#> Predictor </span></span>
|
|
941
|
+
<span id="cb18-41"><a href="#cb18-41" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
942
|
+
</div>
|
|
943
|
+
<div id="dense-scatter-with-facets" class="section level3">
|
|
944
|
+
<h3>Dense Scatter with Facets</h3>
|
|
945
|
+
<div class="sourceCode" id="cb19"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb19-1"><a href="#cb19-1" tabindex="-1"></a>p <span class="ot"><-</span> <span class="fu">ggplot</span>(iris, <span class="fu">aes</span>(<span class="at">x =</span> Sepal.Length, <span class="at">y =</span> Petal.Length, <span class="at">color =</span> Species)) <span class="sc">+</span></span>
|
|
946
|
+
<span id="cb19-2"><a href="#cb19-2" tabindex="-1"></a> <span class="fu">geom_point</span>() <span class="sc">+</span></span>
|
|
947
|
+
<span id="cb19-3"><a href="#cb19-3" tabindex="-1"></a> <span class="fu">facet_wrap</span>(<span class="sc">~</span>Species) <span class="sc">+</span></span>
|
|
948
|
+
<span id="cb19-4"><a href="#cb19-4" tabindex="-1"></a> <span class="fu">labs</span>(<span class="at">title =</span> <span class="st">"Iris Dataset: Sepal vs Petal Length"</span>,</span>
|
|
949
|
+
<span id="cb19-5"><a href="#cb19-5" tabindex="-1"></a> <span class="at">subtitle =</span> <span class="st">"Faceted by species with color legend"</span>) <span class="sc">+</span></span>
|
|
950
|
+
<span id="cb19-6"><a href="#cb19-6" tabindex="-1"></a> <span class="fu">theme_bw</span>()</span>
|
|
951
|
+
<span id="cb19-7"><a href="#cb19-7" tabindex="-1"></a></span>
|
|
952
|
+
<span id="cb19-8"><a href="#cb19-8" tabindex="-1"></a><span class="fu">ggplotcli</span>(p, <span class="at">width =</span> <span class="dv">80</span>, <span class="at">height =</span> <span class="dv">16</span>)</span>
|
|
953
|
+
<span id="cb19-9"><a href="#cb19-9" tabindex="-1"></a><span class="co">#> </span></span>
|
|
954
|
+
<span id="cb19-10"><a href="#cb19-10" tabindex="-1"></a><span class="co">#> Iris Dataset: Sepal vs Petal Length </span></span>
|
|
955
|
+
<span id="cb19-11"><a href="#cb19-11" tabindex="-1"></a><span class="co">#> Faceted by species with color legend </span></span>
|
|
956
|
+
<span id="cb19-12"><a href="#cb19-12" tabindex="-1"></a><span class="co">#> setosa, 1 versicolor, 1 virginica, 1 </span></span>
|
|
957
|
+
<span id="cb19-13"><a href="#cb19-13" tabindex="-1"></a><span class="co">#> P ⡏⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⢹ ⡏⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⢹ ⡏⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⢹ </span></span>
|
|
958
|
+
<span id="cb19-14"><a href="#cb19-14" tabindex="-1"></a><span class="co">#> e 6.0⡇ ⢸ ⡇ ⢸ ⡇ [35m⢀[39m[35m⡄[39m ⢸ </span></span>
|
|
959
|
+
<span id="cb19-15"><a href="#cb19-15" tabindex="-1"></a><span class="co">#> t ⡇ ⢸ ⡇ ⢸ ⡇ [35m⡀[39m[35m⣄[39m[35m⠄[39m[35m⡤[39m[35m⡀[39m[35m⠴[39m[35m⠑[39m [35m⠂[39m[35m⠁[39m ⢸ Species </span></span>
|
|
960
|
+
<span id="cb19-16"><a href="#cb19-16" tabindex="-1"></a><span class="co">#> a ⡇ ⢸ ⡇ [36m⡀[39m[36m⣀[39m[36m⠠[39m[36m⣂[39m[36m⣄[39m[36m⣀[39m[36m⡢[39m[36m⢄[39m ⢸ ⡇ [35m⢀[39m [35m⠔[39m[35m⠒[39m[35m⠮[39m[35m⠎[39m[35m⠃[39m[35m⠊[39m[35m⠃[39m ⢸ [31m*[39m setosa </span></span>
|
|
961
|
+
<span id="cb19-17"><a href="#cb19-17" tabindex="-1"></a><span class="co">#> l 4.0⡇ ⢸ ⡇ [36m⡀[39m[36m⠄[39m[36m⠸[39m[36m⣖[39m[36m⠖[39m[36m⠊[39m[36m⠉[39m[36m⠈[39m[36m⠁[39m ⢸ ⡇ ⢸ [36m*[39m versicolor </span></span>
|
|
962
|
+
<span id="cb19-18"><a href="#cb19-18" tabindex="-1"></a><span class="co">#> . ⡇ ⢸ ⡇ [36m⠈[39m[36m⠑[39m ⢸ ⡇ ⢸ [35m*[39m virginica </span></span>
|
|
963
|
+
<span id="cb19-19"><a href="#cb19-19" tabindex="-1"></a><span class="co">#> L 2.0⡇ [31m⡀[39m[31m⣀[39m[31m⣂[39m[31m⣰[39m[31m⣀[39m[31m⣄[39m[31m⢠[39m ⢸ ⡇ ⢸ ⡇ ⢸ </span></span>
|
|
964
|
+
<span id="cb19-20"><a href="#cb19-20" tabindex="-1"></a><span class="co">#> e ⡇ [31m⠈[39m[31m⠉[39m[31m⠊[39m [31m⠁[39m [31m⠉[39m [31m⠁[39m ⢸ ⡇ ⢸ ⡇ ⢸ </span></span>
|
|
965
|
+
<span id="cb19-21"><a href="#cb19-21" tabindex="-1"></a><span class="co">#> n ⣇⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣸ ⣇⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣸ ⣇⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣸ </span></span>
|
|
966
|
+
<span id="cb19-22"><a href="#cb19-22" tabindex="-1"></a><span class="co">#> g 5.0 6.0 7.0 8.0 5.0 6.0 7.0 8.0 5.0 6.0 7.0 8.0 </span></span>
|
|
967
|
+
<span id="cb19-23"><a href="#cb19-23" tabindex="-1"></a><span class="co">#> </span></span>
|
|
968
|
+
<span id="cb19-24"><a href="#cb19-24" tabindex="-1"></a><span class="co">#> Sepal.Length </span></span>
|
|
969
|
+
<span id="cb19-25"><a href="#cb19-25" tabindex="-1"></a><span class="co">#> </span></span></code></pre></div>
|
|
970
|
+
</div>
|
|
971
|
+
</div>
|
|
972
|
+
<div id="supported-features-summary" class="section level2">
|
|
973
|
+
<h2>Supported Features Summary</h2>
|
|
974
|
+
<table>
|
|
975
|
+
<thead>
|
|
976
|
+
<tr class="header">
|
|
977
|
+
<th>Feature</th>
|
|
978
|
+
<th>Status</th>
|
|
979
|
+
</tr>
|
|
980
|
+
</thead>
|
|
981
|
+
<tbody>
|
|
982
|
+
<tr class="odd">
|
|
983
|
+
<td>geom_point</td>
|
|
984
|
+
<td>✓</td>
|
|
985
|
+
</tr>
|
|
986
|
+
<tr class="even">
|
|
987
|
+
<td>geom_line, geom_path</td>
|
|
988
|
+
<td>✓</td>
|
|
989
|
+
</tr>
|
|
990
|
+
<tr class="odd">
|
|
991
|
+
<td>geom_bar, geom_col, geom_histogram</td>
|
|
992
|
+
<td>✓</td>
|
|
993
|
+
</tr>
|
|
994
|
+
<tr class="even">
|
|
995
|
+
<td>geom_density</td>
|
|
996
|
+
<td>✓</td>
|
|
997
|
+
</tr>
|
|
998
|
+
<tr class="odd">
|
|
999
|
+
<td>geom_smooth</td>
|
|
1000
|
+
<td>✓</td>
|
|
1001
|
+
</tr>
|
|
1002
|
+
<tr class="even">
|
|
1003
|
+
<td>geom_area</td>
|
|
1004
|
+
<td>✓</td>
|
|
1005
|
+
</tr>
|
|
1006
|
+
<tr class="odd">
|
|
1007
|
+
<td>geom_segment, geom_hline, geom_vline</td>
|
|
1008
|
+
<td>✓</td>
|
|
1009
|
+
</tr>
|
|
1010
|
+
<tr class="even">
|
|
1011
|
+
<td>geom_rect</td>
|
|
1012
|
+
<td>✓</td>
|
|
1013
|
+
</tr>
|
|
1014
|
+
<tr class="odd">
|
|
1015
|
+
<td>geom_text</td>
|
|
1016
|
+
<td>✓</td>
|
|
1017
|
+
</tr>
|
|
1018
|
+
<tr class="even">
|
|
1019
|
+
<td>geom_boxplot</td>
|
|
1020
|
+
<td>✓</td>
|
|
1021
|
+
</tr>
|
|
1022
|
+
<tr class="odd">
|
|
1023
|
+
<td>Color/fill aesthetics</td>
|
|
1024
|
+
<td>✓</td>
|
|
1025
|
+
</tr>
|
|
1026
|
+
<tr class="even">
|
|
1027
|
+
<td>Legends (auto-generated)</td>
|
|
1028
|
+
<td>✓</td>
|
|
1029
|
+
</tr>
|
|
1030
|
+
<tr class="odd">
|
|
1031
|
+
<td>facet_wrap, facet_grid</td>
|
|
1032
|
+
<td>✓</td>
|
|
1033
|
+
</tr>
|
|
1034
|
+
<tr class="even">
|
|
1035
|
+
<td>Titles, subtitles, captions</td>
|
|
1036
|
+
<td>✓</td>
|
|
1037
|
+
</tr>
|
|
1038
|
+
<tr class="odd">
|
|
1039
|
+
<td>Theme auto-detection</td>
|
|
1040
|
+
<td>✓</td>
|
|
1041
|
+
</tr>
|
|
1042
|
+
<tr class="even">
|
|
1043
|
+
<td>Optimized color mapping</td>
|
|
1044
|
+
<td>✓</td>
|
|
1045
|
+
</tr>
|
|
1046
|
+
<tr class="odd">
|
|
1047
|
+
<td>Multiple canvas types</td>
|
|
1048
|
+
<td>✓</td>
|
|
1049
|
+
</tr>
|
|
1050
|
+
<tr class="even">
|
|
1051
|
+
<td>geom_tile (heatmaps)</td>
|
|
1052
|
+
<td>Planned</td>
|
|
1053
|
+
</tr>
|
|
1054
|
+
<tr class="odd">
|
|
1055
|
+
<td>geom_violin</td>
|
|
1056
|
+
<td>Planned</td>
|
|
1057
|
+
</tr>
|
|
1058
|
+
</tbody>
|
|
1059
|
+
</table>
|
|
1060
|
+
</div>
|
|
1061
|
+
|
|
1062
|
+
|
|
1063
|
+
|
|
1064
|
+
<!-- code folding -->
|
|
1065
|
+
|
|
1066
|
+
|
|
1067
|
+
<!-- dynamically load mathjax for compatibility with self-contained -->
|
|
1068
|
+
<script>
|
|
1069
|
+
(function () {
|
|
1070
|
+
var script = document.createElement("script");
|
|
1071
|
+
script.type = "text/javascript";
|
|
1072
|
+
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
|
|
1073
|
+
document.getElementsByTagName("head")[0].appendChild(script);
|
|
1074
|
+
})();
|
|
1075
|
+
</script>
|
|
1076
|
+
|
|
1077
|
+
</body>
|
|
1078
|
+
</html>
|