493 lines
584 KiB
HTML
493 lines
584 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
|
|||
|
<html>
|
|||
|
|
|||
|
<head>
|
|||
|
|
|||
|
<meta charset="utf-8" />
|
|||
|
<meta name="generator" content="pandoc" />
|
|||
|
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
|
|||
|
|
|||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|||
|
|
|||
|
<meta name="author" content="Claus O. Wilke" />
|
|||
|
|
|||
|
<meta name="date" content="2022-12-19" />
|
|||
|
|
|||
|
<title>Labeled isolines</title>
|
|||
|
|
|||
|
<script>// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
|
|||
|
// be compatible with the behavior of Pandoc < 2.8).
|
|||
|
document.addEventListener('DOMContentLoaded', function(e) {
|
|||
|
var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
|
|||
|
var i, h, a;
|
|||
|
for (i = 0; i < hs.length; i++) {
|
|||
|
h = hs[i];
|
|||
|
if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
|
|||
|
a = h.attributes;
|
|||
|
while (a.length > 0) h.removeAttribute(a[0].name);
|
|||
|
}
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
<style type="text/css">
|
|||
|
code{white-space: pre-wrap;}
|
|||
|
span.smallcaps{font-variant: small-caps;}
|
|||
|
span.underline{text-decoration: underline;}
|
|||
|
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
|||
|
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|||
|
ul.task-list{list-style: none;}
|
|||
|
</style>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<style type="text/css">
|
|||
|
code {
|
|||
|
white-space: pre;
|
|||
|
}
|
|||
|
.sourceCode {
|
|||
|
overflow: visible;
|
|||
|
}
|
|||
|
</style>
|
|||
|
<style type="text/css" data-origin="pandoc">
|
|||
|
pre > code.sourceCode { white-space: pre; position: relative; }
|
|||
|
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
|||
|
pre > code.sourceCode > span:empty { height: 1.2em; }
|
|||
|
.sourceCode { overflow: visible; }
|
|||
|
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
|||
|
div.sourceCode { margin: 1em 0; }
|
|||
|
pre.sourceCode { margin: 0; }
|
|||
|
@media screen {
|
|||
|
div.sourceCode { overflow: auto; }
|
|||
|
}
|
|||
|
@media print {
|
|||
|
pre > code.sourceCode { white-space: pre-wrap; }
|
|||
|
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
|||
|
}
|
|||
|
pre.numberSource code
|
|||
|
{ counter-reset: source-line 0; }
|
|||
|
pre.numberSource code > span
|
|||
|
{ position: relative; left: -4em; counter-increment: source-line; }
|
|||
|
pre.numberSource code > span > a:first-child::before
|
|||
|
{ content: counter(source-line);
|
|||
|
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
|||
|
border: none; display: inline-block;
|
|||
|
-webkit-touch-callout: none; -webkit-user-select: none;
|
|||
|
-khtml-user-select: none; -moz-user-select: none;
|
|||
|
-ms-user-select: none; user-select: none;
|
|||
|
padding: 0 4px; width: 4em;
|
|||
|
color: #aaaaaa;
|
|||
|
}
|
|||
|
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
|||
|
div.sourceCode
|
|||
|
{ }
|
|||
|
@media screen {
|
|||
|
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
|||
|
}
|
|||
|
code span.al { color: #ff0000; font-weight: bold; }
|
|||
|
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; }
|
|||
|
code span.at { color: #7d9029; }
|
|||
|
code span.bn { color: #40a070; }
|
|||
|
code span.bu { color: #008000; }
|
|||
|
code span.cf { color: #007020; font-weight: bold; }
|
|||
|
code span.ch { color: #4070a0; }
|
|||
|
code span.cn { color: #880000; }
|
|||
|
code span.co { color: #60a0b0; font-style: italic; }
|
|||
|
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; }
|
|||
|
code span.do { color: #ba2121; font-style: italic; }
|
|||
|
code span.dt { color: #902000; }
|
|||
|
code span.dv { color: #40a070; }
|
|||
|
code span.er { color: #ff0000; font-weight: bold; }
|
|||
|
code span.ex { }
|
|||
|
code span.fl { color: #40a070; }
|
|||
|
code span.fu { color: #06287e; }
|
|||
|
code span.im { color: #008000; font-weight: bold; }
|
|||
|
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; }
|
|||
|
code span.kw { color: #007020; font-weight: bold; }
|
|||
|
code span.op { color: #666666; }
|
|||
|
code span.ot { color: #007020; }
|
|||
|
code span.pp { color: #bc7a00; }
|
|||
|
code span.sc { color: #4070a0; }
|
|||
|
code span.ss { color: #bb6688; }
|
|||
|
code span.st { color: #4070a0; }
|
|||
|
code span.va { color: #19177c; }
|
|||
|
code span.vs { color: #4070a0; }
|
|||
|
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; }
|
|||
|
</style>
|
|||
|
<script>
|
|||
|
// apply pandoc div.sourceCode style to pre.sourceCode instead
|
|||
|
(function() {
|
|||
|
var sheets = document.styleSheets;
|
|||
|
for (var i = 0; i < sheets.length; i++) {
|
|||
|
if (sheets[i].ownerNode.dataset["origin"] !== "pandoc") continue;
|
|||
|
try { var rules = sheets[i].cssRules; } catch (e) { continue; }
|
|||
|
var j = 0;
|
|||
|
while (j < rules.length) {
|
|||
|
var rule = rules[j];
|
|||
|
// check if there is a div.sourceCode rule
|
|||
|
if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") {
|
|||
|
j++;
|
|||
|
continue;
|
|||
|
}
|
|||
|
var style = rule.style.cssText;
|
|||
|
// check if color or background-color is set
|
|||
|
if (rule.style.color === '' && rule.style.backgroundColor === '') {
|
|||
|
j++;
|
|||
|
continue;
|
|||
|
}
|
|||
|
// replace div.sourceCode by a pre.sourceCode rule
|
|||
|
sheets[i].deleteRule(j);
|
|||
|
sheets[i].insertRule('pre.sourceCode{' + style + '}', j);
|
|||
|
}
|
|||
|
}
|
|||
|
})();
|
|||
|
</script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<style type="text/css">body {
|
|||
|
background-color: #fff;
|
|||
|
margin: 1em auto;
|
|||
|
max-width: 700px;
|
|||
|
overflow: visible;
|
|||
|
padding-left: 2em;
|
|||
|
padding-right: 2em;
|
|||
|
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|||
|
font-size: 14px;
|
|||
|
line-height: 1.35;
|
|||
|
}
|
|||
|
#TOC {
|
|||
|
clear: both;
|
|||
|
margin: 0 0 10px 10px;
|
|||
|
padding: 4px;
|
|||
|
width: 400px;
|
|||
|
border: 1px solid #CCCCCC;
|
|||
|
border-radius: 5px;
|
|||
|
background-color: #f6f6f6;
|
|||
|
font-size: 13px;
|
|||
|
line-height: 1.3;
|
|||
|
}
|
|||
|
#TOC .toctitle {
|
|||
|
font-weight: bold;
|
|||
|
font-size: 15px;
|
|||
|
margin-left: 5px;
|
|||
|
}
|
|||
|
#TOC ul {
|
|||
|
padding-left: 40px;
|
|||
|
margin-left: -1.5em;
|
|||
|
margin-top: 5px;
|
|||
|
margin-bottom: 5px;
|
|||
|
}
|
|||
|
#TOC ul ul {
|
|||
|
margin-left: -2em;
|
|||
|
}
|
|||
|
#TOC li {
|
|||
|
line-height: 16px;
|
|||
|
}
|
|||
|
table {
|
|||
|
margin: 1em auto;
|
|||
|
border-width: 1px;
|
|||
|
border-color: #DDDDDD;
|
|||
|
border-style: outset;
|
|||
|
border-collapse: collapse;
|
|||
|
}
|
|||
|
table th {
|
|||
|
border-width: 2px;
|
|||
|
padding: 5px;
|
|||
|
border-style: inset;
|
|||
|
}
|
|||
|
table td {
|
|||
|
border-width: 1px;
|
|||
|
border-style: inset;
|
|||
|
line-height: 18px;
|
|||
|
padding: 5px 5px;
|
|||
|
}
|
|||
|
table, table th, table td {
|
|||
|
border-left-style: none;
|
|||
|
border-right-style: none;
|
|||
|
}
|
|||
|
table thead, table tr.even {
|
|||
|
background-color: #f7f7f7;
|
|||
|
}
|
|||
|
p {
|
|||
|
margin: 0.5em 0;
|
|||
|
}
|
|||
|
blockquote {
|
|||
|
background-color: #f6f6f6;
|
|||
|
padding: 0.25em 0.75em;
|
|||
|
}
|
|||
|
hr {
|
|||
|
border-style: solid;
|
|||
|
border: none;
|
|||
|
border-top: 1px solid #777;
|
|||
|
margin: 28px 0;
|
|||
|
}
|
|||
|
dl {
|
|||
|
margin-left: 0;
|
|||
|
}
|
|||
|
dl dd {
|
|||
|
margin-bottom: 13px;
|
|||
|
margin-left: 13px;
|
|||
|
}
|
|||
|
dl dt {
|
|||
|
font-weight: bold;
|
|||
|
}
|
|||
|
ul {
|
|||
|
margin-top: 0;
|
|||
|
}
|
|||
|
ul li {
|
|||
|
list-style: circle outside;
|
|||
|
}
|
|||
|
ul ul {
|
|||
|
margin-bottom: 0;
|
|||
|
}
|
|||
|
pre, code {
|
|||
|
background-color: #f7f7f7;
|
|||
|
border-radius: 3px;
|
|||
|
color: #333;
|
|||
|
white-space: pre-wrap;
|
|||
|
}
|
|||
|
pre {
|
|||
|
border-radius: 3px;
|
|||
|
margin: 5px 0px 10px 0px;
|
|||
|
padding: 10px;
|
|||
|
}
|
|||
|
pre:not([class]) {
|
|||
|
background-color: #f7f7f7;
|
|||
|
}
|
|||
|
code {
|
|||
|
font-family: Consolas, Monaco, 'Courier New', monospace;
|
|||
|
font-size: 85%;
|
|||
|
}
|
|||
|
p > code, li > code {
|
|||
|
padding: 2px 0px;
|
|||
|
}
|
|||
|
div.figure {
|
|||
|
text-align: center;
|
|||
|
}
|
|||
|
img {
|
|||
|
background-color: #FFFFFF;
|
|||
|
padding: 2px;
|
|||
|
border: 1px solid #DDDDDD;
|
|||
|
border-radius: 3px;
|
|||
|
border: 1px solid #CCCCCC;
|
|||
|
margin: 0 5px;
|
|||
|
}
|
|||
|
h1 {
|
|||
|
margin-top: 0;
|
|||
|
font-size: 35px;
|
|||
|
line-height: 40px;
|
|||
|
}
|
|||
|
h2 {
|
|||
|
border-bottom: 4px solid #f7f7f7;
|
|||
|
padding-top: 10px;
|
|||
|
padding-bottom: 2px;
|
|||
|
font-size: 145%;
|
|||
|
}
|
|||
|
h3 {
|
|||
|
border-bottom: 2px solid #f7f7f7;
|
|||
|
padding-top: 10px;
|
|||
|
font-size: 120%;
|
|||
|
}
|
|||
|
h4 {
|
|||
|
border-bottom: 1px solid #f7f7f7;
|
|||
|
margin-left: 8px;
|
|||
|
font-size: 105%;
|
|||
|
}
|
|||
|
h5, h6 {
|
|||
|
border-bottom: 1px solid #ccc;
|
|||
|
font-size: 105%;
|
|||
|
}
|
|||
|
a {
|
|||
|
color: #0033dd;
|
|||
|
text-decoration: none;
|
|||
|
}
|
|||
|
a:hover {
|
|||
|
color: #6666ff; }
|
|||
|
a:visited {
|
|||
|
color: #800080; }
|
|||
|
a:visited:hover {
|
|||
|
color: #BB00BB; }
|
|||
|
a[href^="http:"] {
|
|||
|
text-decoration: underline; }
|
|||
|
a[href^="https:"] {
|
|||
|
text-decoration: underline; }
|
|||
|
|
|||
|
code > span.kw { color: #555; font-weight: bold; }
|
|||
|
code > span.dt { color: #902000; }
|
|||
|
code > span.dv { color: #40a070; }
|
|||
|
code > span.bn { color: #d14; }
|
|||
|
code > span.fl { color: #d14; }
|
|||
|
code > span.ch { color: #d14; }
|
|||
|
code > span.st { color: #d14; }
|
|||
|
code > span.co { color: #888888; font-style: italic; }
|
|||
|
code > span.ot { color: #007020; }
|
|||
|
code > span.al { color: #ff0000; font-weight: bold; }
|
|||
|
code > span.fu { color: #900; font-weight: bold; }
|
|||
|
code > span.er { color: #a61717; background-color: #e3d2d2; }
|
|||
|
</style>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</head>
|
|||
|
|
|||
|
<body>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<h1 class="title toc-ignore">Labeled isolines</h1>
|
|||
|
<h4 class="author">Claus O. Wilke</h4>
|
|||
|
<h4 class="date">2022-12-19</h4>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<p>Labeled isolines can be drawn in the grid graphics system via the
|
|||
|
<code>isolines_grob()</code> function.</p>
|
|||
|
<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">library</span>(isoband)</span>
|
|||
|
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="fu">library</span>(grid)</span>
|
|||
|
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a></span>
|
|||
|
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a>x <span class="ot"><-</span> (<span class="dv">0</span><span class="sc">:</span>(<span class="fu">ncol</span>(volcano) <span class="sc">-</span> <span class="dv">1</span>))<span class="sc">/</span>(<span class="fu">ncol</span>(volcano) <span class="sc">-</span> <span class="dv">1</span>)</span>
|
|||
|
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a>y <span class="ot"><-</span> ((<span class="fu">nrow</span>(volcano) <span class="sc">-</span> <span class="dv">1</span>)<span class="sc">:</span><span class="dv">0</span>)<span class="sc">/</span>(<span class="fu">nrow</span>(volcano) <span class="sc">-</span> <span class="dv">1</span>)</span>
|
|||
|
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a>lines <span class="ot"><-</span> <span class="fu">isolines</span>(x, y, volcano, <span class="dv">5</span><span class="sc">*</span>(<span class="dv">19</span><span class="sc">:</span><span class="dv">38</span>))</span>
|
|||
|
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a></span>
|
|||
|
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a>g <span class="ot"><-</span> <span class="fu">isolines_grob</span>(</span>
|
|||
|
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a> lines, <span class="at">breaks =</span> <span class="dv">20</span><span class="sc">*</span>(<span class="dv">5</span><span class="sc">:</span><span class="dv">10</span>),</span>
|
|||
|
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a> <span class="at">gp =</span> <span class="fu">gpar</span>(</span>
|
|||
|
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a> <span class="at">fontsize =</span> <span class="dv">10</span>,</span>
|
|||
|
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a> <span class="at">lwd =</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">1</span>),</span>
|
|||
|
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a> <span class="at">col =</span> <span class="fu">c</span>(<span class="st">"grey50"</span>, <span class="st">"grey20"</span>, <span class="st">"grey50"</span>, <span class="st">"grey50"</span>)</span>
|
|||
|
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a> )</span>
|
|||
|
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a>)</span>
|
|||
|
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a></span>
|
|||
|
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.newpage</span>()</span>
|
|||
|
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.draw</span>(g)</span></code></pre></div>
|
|||
|
<p><img src="data:image/png;base64,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
|
|||
|
<p>The function places labels at the isolines specified via the
|
|||
|
<code>breaks</code> argument, and it crops isolines around the labels so
|
|||
|
no lines run into the labels. It is possible to leave extra space around
|
|||
|
the labels using the <code>margin</code> argument.</p>
|
|||
|
<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>g <span class="ot"><-</span> <span class="fu">isolines_grob</span>(</span>
|
|||
|
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a> lines, <span class="at">breaks =</span> <span class="dv">20</span><span class="sc">*</span>(<span class="dv">5</span><span class="sc">:</span><span class="dv">10</span>),</span>
|
|||
|
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a> <span class="at">margin =</span> <span class="fu">unit</span>(<span class="fu">c</span>(<span class="dv">3</span>, <span class="dv">5</span>, <span class="dv">3</span>, <span class="dv">5</span>), <span class="st">"pt"</span>), <span class="co"># margin specified as top, right, bottom, left</span></span>
|
|||
|
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a> <span class="at">gp =</span> <span class="fu">gpar</span>(</span>
|
|||
|
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a> <span class="at">fontsize =</span> <span class="dv">10</span>,</span>
|
|||
|
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a> <span class="at">lwd =</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">1</span>),</span>
|
|||
|
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a> <span class="at">col =</span> <span class="fu">c</span>(<span class="st">"grey50"</span>, <span class="st">"grey20"</span>, <span class="st">"grey50"</span>, <span class="st">"grey50"</span>)</span>
|
|||
|
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a> )</span>
|
|||
|
<span id="cb2-9"><a href="#cb2-9" aria-hidden="true" tabindex="-1"></a>)</span>
|
|||
|
<span id="cb2-10"><a href="#cb2-10" aria-hidden="true" tabindex="-1"></a></span>
|
|||
|
<span id="cb2-11"><a href="#cb2-11" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.newpage</span>()</span>
|
|||
|
<span id="cb2-12"><a href="#cb2-12" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.draw</span>(g)</span></code></pre></div>
|
|||
|
<p><img src="data:image/png;base64,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
|
|||
|
<p>Where the labels are drawn can be controlled via the
|
|||
|
<code>label_placer</code> argument. A few different label placement
|
|||
|
strategies are provided. The default,
|
|||
|
<code>label_placer_minmax()</code>, places labels at the maximum and
|
|||
|
minimum y value for each isoline. However, this label placer can be
|
|||
|
further customized. For example, labels can be placed at maximum and
|
|||
|
minimum x values and at a fixed rotation angle of 90 degrees.</p>
|
|||
|
<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>g <span class="ot"><-</span> <span class="fu">isolines_grob</span>(</span>
|
|||
|
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a> lines, <span class="at">breaks =</span> <span class="dv">20</span><span class="sc">*</span>(<span class="dv">5</span><span class="sc">:</span><span class="dv">10</span>),</span>
|
|||
|
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a> <span class="at">gp =</span> <span class="fu">gpar</span>(</span>
|
|||
|
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a> <span class="at">fontsize =</span> <span class="dv">10</span>,</span>
|
|||
|
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a> <span class="at">lwd =</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">1</span>),</span>
|
|||
|
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a> <span class="at">col =</span> <span class="fu">c</span>(<span class="st">"grey50"</span>, <span class="st">"grey20"</span>, <span class="st">"grey50"</span>, <span class="st">"grey50"</span>)</span>
|
|||
|
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a> ),</span>
|
|||
|
<span id="cb3-8"><a href="#cb3-8" aria-hidden="true" tabindex="-1"></a> <span class="at">label_placer =</span> <span class="fu">label_placer_minmax</span>(</span>
|
|||
|
<span id="cb3-9"><a href="#cb3-9" aria-hidden="true" tabindex="-1"></a> <span class="at">placement =</span> <span class="st">"rl"</span>, <span class="co"># place labels right and left, i.e., min and max x</span></span>
|
|||
|
<span id="cb3-10"><a href="#cb3-10" aria-hidden="true" tabindex="-1"></a> <span class="at">rot_adjuster =</span> <span class="fu">angle_fixed</span>(pi<span class="sc">/</span><span class="dv">2</span>) <span class="co"># set fixed angle of 90 degrees</span></span>
|
|||
|
<span id="cb3-11"><a href="#cb3-11" aria-hidden="true" tabindex="-1"></a> )</span>
|
|||
|
<span id="cb3-12"><a href="#cb3-12" aria-hidden="true" tabindex="-1"></a>)</span>
|
|||
|
<span id="cb3-13"><a href="#cb3-13" aria-hidden="true" tabindex="-1"></a></span>
|
|||
|
<span id="cb3-14"><a href="#cb3-14" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.newpage</span>()</span>
|
|||
|
<span id="cb3-15"><a href="#cb3-15" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.draw</span>(g)</span></code></pre></div>
|
|||
|
<p><img src="data:image/png;base64,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
|
|||
|
<p>The label placer <code>label_placer_none()</code> doesn’t place any
|
|||
|
labels.</p>
|
|||
|
<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a>g <span class="ot"><-</span> <span class="fu">isolines_grob</span>(</span>
|
|||
|
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a> lines, <span class="at">breaks =</span> <span class="dv">20</span><span class="sc">*</span>(<span class="dv">5</span><span class="sc">:</span><span class="dv">10</span>),</span>
|
|||
|
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a> <span class="at">gp =</span> <span class="fu">gpar</span>(</span>
|
|||
|
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a> <span class="at">lwd =</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">1</span>),</span>
|
|||
|
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a> <span class="at">col =</span> <span class="fu">c</span>(<span class="st">"grey50"</span>, <span class="st">"grey20"</span>, <span class="st">"grey50"</span>, <span class="st">"grey50"</span>)</span>
|
|||
|
<span id="cb4-6"><a href="#cb4-6" aria-hidden="true" tabindex="-1"></a> ),</span>
|
|||
|
<span id="cb4-7"><a href="#cb4-7" aria-hidden="true" tabindex="-1"></a> <span class="at">label_placer =</span> <span class="fu">label_placer_none</span>()</span>
|
|||
|
<span id="cb4-8"><a href="#cb4-8" aria-hidden="true" tabindex="-1"></a>)</span>
|
|||
|
<span id="cb4-9"><a href="#cb4-9" aria-hidden="true" tabindex="-1"></a></span>
|
|||
|
<span id="cb4-10"><a href="#cb4-10" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.newpage</span>()</span>
|
|||
|
<span id="cb4-11"><a href="#cb4-11" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.draw</span>(g)</span></code></pre></div>
|
|||
|
<p><img src="data:image/png;base64,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
|
|||
|
<p>We can also place labels entirely manually by using
|
|||
|
<code>label_placer_manual()</code>. This label placer takes as arguments
|
|||
|
the breaks that should be labeled and the corresponding coordinates and
|
|||
|
label angles. Breaks for which no coordinates are specified are ignored.
|
|||
|
If multiple coordinates are supplied for the same break then multiple
|
|||
|
labels are placed for that break.</p>
|
|||
|
<div class="sourceCode" id="cb5"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a>g <span class="ot"><-</span> <span class="fu">isolines_grob</span>(</span>
|
|||
|
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a> lines, <span class="at">breaks =</span> <span class="dv">20</span><span class="sc">*</span>(<span class="dv">5</span><span class="sc">:</span><span class="dv">10</span>),</span>
|
|||
|
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a> <span class="at">gp =</span> <span class="fu">gpar</span>(</span>
|
|||
|
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a> <span class="at">fontsize =</span> <span class="dv">12</span>,</span>
|
|||
|
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a> <span class="at">lwd =</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">1</span>),</span>
|
|||
|
<span id="cb5-6"><a href="#cb5-6" aria-hidden="true" tabindex="-1"></a> <span class="at">col =</span> <span class="fu">c</span>(<span class="st">"grey50"</span>, <span class="st">"grey20"</span>, <span class="st">"grey50"</span>, <span class="st">"grey50"</span>)</span>
|
|||
|
<span id="cb5-7"><a href="#cb5-7" aria-hidden="true" tabindex="-1"></a> ),</span>
|
|||
|
<span id="cb5-8"><a href="#cb5-8" aria-hidden="true" tabindex="-1"></a> <span class="at">label_col =</span> <span class="st">"red"</span>,</span>
|
|||
|
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true" tabindex="-1"></a> <span class="at">label_placer =</span> <span class="fu">label_placer_manual</span>(</span>
|
|||
|
<span id="cb5-10"><a href="#cb5-10" aria-hidden="true" tabindex="-1"></a> <span class="at">breaks =</span> <span class="fu">c</span>(<span class="st">"120"</span>, <span class="st">"160"</span>, <span class="st">"160"</span>),</span>
|
|||
|
<span id="cb5-11"><a href="#cb5-11" aria-hidden="true" tabindex="-1"></a> <span class="at">x =</span> <span class="fu">c</span>(<span class="fl">0.15</span>, <span class="fl">0.5</span>, <span class="fl">0.6</span>),</span>
|
|||
|
<span id="cb5-12"><a href="#cb5-12" aria-hidden="true" tabindex="-1"></a> <span class="at">y =</span> <span class="fu">c</span>(<span class="fl">0.19</span>, <span class="fl">0.51</span>, <span class="fl">0.87</span>),</span>
|
|||
|
<span id="cb5-13"><a href="#cb5-13" aria-hidden="true" tabindex="-1"></a> <span class="at">theta =</span> <span class="dv">0</span></span>
|
|||
|
<span id="cb5-14"><a href="#cb5-14" aria-hidden="true" tabindex="-1"></a> )</span>
|
|||
|
<span id="cb5-15"><a href="#cb5-15" aria-hidden="true" tabindex="-1"></a>)</span>
|
|||
|
<span id="cb5-16"><a href="#cb5-16" aria-hidden="true" tabindex="-1"></a></span>
|
|||
|
<span id="cb5-17"><a href="#cb5-17" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.newpage</span>()</span>
|
|||
|
<span id="cb5-18"><a href="#cb5-18" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.draw</span>(g)</span></code></pre></div>
|
|||
|
<p><img src="data:image/png;base64,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
|
|||
|
<p>Because isolines are cropped around the labels, the labeling strategy
|
|||
|
works even if the isolines are drawn on top of a colored background. For
|
|||
|
example, we could draw filled isobands using
|
|||
|
<code>isobands_grob()</code> and then draw labeled lines on top.</p>
|
|||
|
<div class="sourceCode" id="cb6"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a>viridis_pal <span class="ot"><-</span> <span class="fu">colorRampPalette</span>(</span>
|
|||
|
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">c</span>(<span class="st">"#440154"</span>, <span class="st">"#414487"</span>, <span class="st">"#2A788E"</span>, <span class="st">"#22A884"</span>, <span class="st">"#7AD151"</span>, <span class="st">"#FDE725"</span>),</span>
|
|||
|
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a> <span class="at">space =</span> <span class="st">"Lab"</span></span>
|
|||
|
<span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a>)</span>
|
|||
|
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true" tabindex="-1"></a></span>
|
|||
|
<span id="cb6-6"><a href="#cb6-6" aria-hidden="true" tabindex="-1"></a>bands <span class="ot"><-</span> <span class="fu">isobands</span>(x, y, volcano, <span class="dv">5</span><span class="sc">*</span>(<span class="dv">18</span><span class="sc">:</span><span class="dv">38</span>), <span class="dv">5</span><span class="sc">*</span>(<span class="dv">19</span><span class="sc">:</span><span class="dv">39</span>))</span>
|
|||
|
<span id="cb6-7"><a href="#cb6-7" aria-hidden="true" tabindex="-1"></a></span>
|
|||
|
<span id="cb6-8"><a href="#cb6-8" aria-hidden="true" tabindex="-1"></a>b <span class="ot"><-</span> <span class="fu">isobands_grob</span>(</span>
|
|||
|
<span id="cb6-9"><a href="#cb6-9" aria-hidden="true" tabindex="-1"></a> bands,</span>
|
|||
|
<span id="cb6-10"><a href="#cb6-10" aria-hidden="true" tabindex="-1"></a> <span class="at">gp =</span> <span class="fu">gpar</span>(<span class="at">col =</span> <span class="cn">NA</span>, <span class="at">fill =</span> <span class="fu">viridis_pal</span>(<span class="dv">21</span>), <span class="at">alpha =</span> <span class="fl">0.4</span>)</span>
|
|||
|
<span id="cb6-11"><a href="#cb6-11" aria-hidden="true" tabindex="-1"></a>)</span>
|
|||
|
<span id="cb6-12"><a href="#cb6-12" aria-hidden="true" tabindex="-1"></a>l <span class="ot"><-</span> <span class="fu">isolines_grob</span>(</span>
|
|||
|
<span id="cb6-13"><a href="#cb6-13" aria-hidden="true" tabindex="-1"></a> lines, <span class="at">breaks =</span> <span class="dv">20</span><span class="sc">*</span>(<span class="dv">5</span><span class="sc">:</span><span class="dv">10</span>),</span>
|
|||
|
<span id="cb6-14"><a href="#cb6-14" aria-hidden="true" tabindex="-1"></a> <span class="at">gp =</span> <span class="fu">gpar</span>(</span>
|
|||
|
<span id="cb6-15"><a href="#cb6-15" aria-hidden="true" tabindex="-1"></a> <span class="at">fontsize =</span> <span class="dv">10</span>,</span>
|
|||
|
<span id="cb6-16"><a href="#cb6-16" aria-hidden="true" tabindex="-1"></a> <span class="at">lwd =</span> <span class="fu">c</span>(<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">1</span>),</span>
|
|||
|
<span id="cb6-17"><a href="#cb6-17" aria-hidden="true" tabindex="-1"></a> <span class="at">col =</span> <span class="fu">c</span>(<span class="st">"grey50"</span>, <span class="st">"grey20"</span>, <span class="st">"grey50"</span>, <span class="st">"grey50"</span>)</span>
|
|||
|
<span id="cb6-18"><a href="#cb6-18" aria-hidden="true" tabindex="-1"></a> )</span>
|
|||
|
<span id="cb6-19"><a href="#cb6-19" aria-hidden="true" tabindex="-1"></a>)</span>
|
|||
|
<span id="cb6-20"><a href="#cb6-20" aria-hidden="true" tabindex="-1"></a></span>
|
|||
|
<span id="cb6-21"><a href="#cb6-21" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.newpage</span>()</span>
|
|||
|
<span id="cb6-22"><a href="#cb6-22" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.draw</span>(b)</span>
|
|||
|
<span id="cb6-23"><a href="#cb6-23" aria-hidden="true" tabindex="-1"></a><span class="fu">grid.draw</span>(l)</span></code></pre></div>
|
|||
|
<p><img src="data:image/png;base64,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
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<!-- code folding -->
|
|||
|
|
|||
|
|
|||
|
<!-- dynamically load mathjax for compatibility with self-contained -->
|
|||
|
<script>
|
|||
|
(function () {
|
|||
|
var script = document.createElement("script");
|
|||
|
script.type = "text/javascript";
|
|||
|
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
|
|||
|
document.getElementsByTagName("head")[0].appendChild(script);
|
|||
|
})();
|
|||
|
</script>
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|