Skip to content

Commit

Permalink
plot.qmd upd
Browse files Browse the repository at this point in the history
  • Loading branch information
locusclassicus committed Oct 10, 2024
1 parent 68dad3c commit 9d39cac
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 25 deletions.
8 changes: 7 additions & 1 deletion book/plot.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ noveltm_new |>
coord_flip()
```

## Просто украшательство
## Информативный дизайн

Поскольку нас интересует доля женщин, логично поменять группы местами.

Expand Down Expand Up @@ -392,6 +392,12 @@ noveltm_new |>
plot.title.position = "plot")
```


:::{.callout-warning icon=false}
Постройте несколько графиков с использованием датасета `starwars` из пакета `dplyr`. Используйте тему "Звездных войн" из [ThemePark](https://github.com/MatthewBJane/ThemePark).
:::


## Подписи с `geom_text()`

Функции `geom_text()` можно передать таблицу, которую мы сделали выше и которая хранит сведения о доле женщин по декадам. Обратите внимание: у геомов могут быть разные данные!
Expand Down
2 changes: 1 addition & 1 deletion book/stylo.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ legend('top', c("Isocrates","Plato"),

## `oppose()`

Функция `oppose()` реализует контрастивный анализ, помогая понять, каких слов авторы избегают, а какие -- предпочитают. Функция возвращает два файла: `words-preferred.txt` и `words-avoided.txt`. Она тоже поддерживает графический интерфейс, но с древнегреческим бывают трудности токенизации, поэтому прописываем правило при помощи регулярных выражений.
Функция `oppose()` реализует контрастивный анализ, помогая понять, каких слов авторы избегают, а какие -- предпочитают. Функция возвращает два файла: `words-preferred.txt` и `words-avoided.txt`. Она тоже поддерживает графический интерфейс, но с древнегреческим [бывают](https://github.com/computationalstylistics/stylo/issues/55#issuecomment-2356146537) трудности токенизации, поэтому прописываем правило при помощи регулярных выражений.


Для сравнения возьмем Платона и Исократа (они тоже есть в архиве).
Expand Down
94 changes: 71 additions & 23 deletions docs/plot.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"><head>

<meta charset="utf-8">
<meta name="generator" content="quarto-1.4.553">
<meta name="generator" content="quarto-1.5.57">

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">


<title>Компьютерный анализ текста - 3&nbsp; Визуализации</title>
<title>3&nbsp; Визуализации – Компьютерный анализ текста</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
Expand All @@ -33,7 +33,7 @@
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
Expand Down Expand Up @@ -134,13 +134,13 @@
<header id="quarto-header" class="headroom fixed-top">
<nav class="quarto-secondary-nav">
<div class="container-fluid d-flex">
<button type="button" class="quarto-btn-toggle btn" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Переключить боковую панель навигации" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
<button type="button" class="quarto-btn-toggle btn" data-bs-toggle="collapse" role="button" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Переключить боковую панель навигации" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
<i class="bi bi-layout-text-sidebar-reverse"></i>
</button>
<nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="./plot.html"><span class="chapter-number">3</span>&nbsp; <span class="chapter-title">Визуализации</span></a></li></ol></nav>
<a class="flex-grow-1" role="button" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Переключить боковую панель навигации" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
<a class="flex-grow-1" role="navigation" data-bs-toggle="collapse" data-bs-target=".quarto-sidebar-collapse-item" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Переключить боковую панель навигации" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
</a>
<button type="button" class="btn quarto-search-button" aria-label="" onclick="window.quartoOpenSearch();">
<button type="button" class="btn quarto-search-button" aria-label="Поиск" onclick="window.quartoOpenSearch();">
<i class="bi bi-search"></i>
</button>
</div>
Expand Down Expand Up @@ -195,7 +195,7 @@
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="./import.html" class="sidebar-item-text sidebar-link">
<span class="menu-text"><span class="chapter-number">5</span>&nbsp; <span class="chapter-title">Импорт</span></span></a>
<span class="menu-text"><span class="chapter-number">5</span>&nbsp; <span class="chapter-title">Импорт: JSON &amp; XML</span></span></a>
</div>
</li>
<li class="sidebar-item">
Expand Down Expand Up @@ -281,6 +281,30 @@
<a href="./ggraph.html" class="sidebar-item-text sidebar-link">
<span class="menu-text"><span class="chapter-number">19</span>&nbsp; <span class="chapter-title">Графический дизайн сетей в <code>ggraph</code></span></span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="./dracor.html" class="sidebar-item-text sidebar-link">
<span class="menu-text"><span class="chapter-number">20</span>&nbsp; <span class="chapter-title">Анализ сетей и обнаружение сообществ</span></span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="./maps.html" class="sidebar-item-text sidebar-link">
<span class="menu-text"><span class="chapter-number">21</span>&nbsp; <span class="chapter-title">Пространственные данные в R</span></span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="./regression.html" class="sidebar-item-text sidebar-link">
<span class="menu-text"><span class="chapter-number">22</span>&nbsp; <span class="chapter-title">Регрессионный анализ</span></span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="./multivar.html" class="sidebar-item-text sidebar-link">
<span class="menu-text"><span class="chapter-number">23</span>&nbsp; <span class="chapter-title">Регрессионные модели с <code>tidymodels</code></span></span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
Expand All @@ -307,7 +331,7 @@ <h2 id="toc-title">Содержание</h2>
<li><a href="#шрифты" id="toc-шрифты" class="nav-link" data-scroll-target="#шрифты"><span class="header-section-number">3.7</span> Шрифты</a></li>
<li><a href="#изображения" id="toc-изображения" class="nav-link" data-scroll-target="#изображения"><span class="header-section-number">3.8</span> Изображения</a></li>
<li><a href="#столбиковая-диаграмма" id="toc-столбиковая-диаграмма" class="nav-link" data-scroll-target="#столбиковая-диаграмма"><span class="header-section-number">3.9</span> Столбиковая диаграмма</a></li>
<li><a href="#просто-украшательство" id="toc-просто-украшательство" class="nav-link" data-scroll-target="#просто-украшательство"><span class="header-section-number">3.10</span> Просто украшательство</a></li>
<li><a href="#информативный-дизайн" id="toc-информативный-дизайн" class="nav-link" data-scroll-target="#информативный-дизайн"><span class="header-section-number">3.10</span> Информативный дизайн</a></li>
<li><a href="#подписи-с-geom_text" id="toc-подписи-с-geom_text" class="nav-link" data-scroll-target="#подписи-с-geom_text"><span class="header-section-number">3.11</span> Подписи с <code>geom_text()</code></a></li>
<li><a href="#экспорт-графиков-из-среды-r" id="toc-экспорт-графиков-из-среды-r" class="nav-link" data-scroll-target="#экспорт-графиков-из-среды-r"><span class="header-section-number">3.12</span> Экспорт графиков из среды R</a></li>
</ul>
Expand Down Expand Up @@ -730,8 +754,8 @@ <h2 data-number="3.9" class="anchored" data-anchor-id="столбиковая-д
</div>
</div>
</section>
<section id="просто-украшательство" class="level2" data-number="3.10">
<h2 data-number="3.10" class="anchored" data-anchor-id="просто-украшательство"><span class="header-section-number">3.10</span> Просто украшательство</h2>
<section id="информативный-дизайн" class="level2" data-number="3.10">
<h2 data-number="3.10" class="anchored" data-anchor-id="информативный-дизайн"><span class="header-section-number">3.10</span> Информативный дизайн</h2>
<p>Поскольку нас интересует доля женщин, логично поменять группы местами.</p>
<div class="cell">
<div class="sourceCode cell-code" id="cb18"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a>noveltm_new <span class="sc">|&gt;</span> </span>
Expand Down Expand Up @@ -835,6 +859,19 @@ <h2 data-number="3.10" class="anchored" data-anchor-id="просто-украш
</div>
</div>
</div>
<div class="callout callout-style-default callout-warning no-icon callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon no-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Задание
</div>
</div>
<div class="callout-body-container callout-body">
<p>Постройте несколько графиков с использованием датасета <code>starwars</code> из пакета <code>dplyr</code>. Используйте тему “Звездных войн” из <a href="https://github.com/MatthewBJane/ThemePark">ThemePark</a>.</p>
</div>
</div>
</section>
<section id="подписи-с-geom_text" class="level2" data-number="3.11">
<h2 data-number="3.11" class="anchored" data-anchor-id="подписи-с-geom_text"><span class="header-section-number">3.11</span> Подписи с <code>geom_text()</code></h2>
Expand Down Expand Up @@ -998,18 +1035,7 @@ <h2 data-number="3.12" class="anchored" data-anchor-id="экспорт-граф
}
return false;
}
const clipboard = new window.ClipboardJS('.code-copy-button', {
text: function(trigger) {
const codeEl = trigger.previousElementSibling.cloneNode(true);
for (const childEl of codeEl.children) {
if (isCodeAnnotation(childEl)) {
childEl.remove();
}
}
return codeEl.innerText;
}
});
clipboard.on('success', function(e) {
const onCopySuccess = function(e) {
// button target
const button = e.trigger;
// don't keep focus
Expand Down Expand Up @@ -1041,15 +1067,37 @@ <h2 data-number="3.12" class="anchored" data-anchor-id="экспорт-граф
}, 1000);
// clear code selection
e.clearSelection();
}
const getTextToCopy = function(trigger) {
const codeEl = trigger.previousElementSibling.cloneNode(true);
for (const childEl of codeEl.children) {
if (isCodeAnnotation(childEl)) {
childEl.remove();
}
}
return codeEl.innerText;
}
const clipboard = new window.ClipboardJS('.code-copy-button:not([data-in-quarto-modal])', {
text: getTextToCopy
});
clipboard.on('success', onCopySuccess);
if (window.document.getElementById('quarto-embedded-source-code-modal')) {
// For code content inside modals, clipBoardJS needs to be initialized with a container option
// TODO: Check when it could be a function (https://github.com/zenorocha/clipboard.js/issues/860)
const clipboardModal = new window.ClipboardJS('.code-copy-button[data-in-quarto-modal]', {
text: getTextToCopy,
container: window.document.getElementById('quarto-embedded-source-code-modal')
});
clipboardModal.on('success', onCopySuccess);
}
var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//);
var mailtoRegex = new RegExp(/^mailto:/);
var filterRegex = new RegExp('/' + window.location.host + '/');
var isInternal = (href) => {
return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href);
}
// Inspect non-navigation links and adorn them if external
var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool)');
var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool):not(.about-link)');
for (var i=0; i<links.length; i++) {
const link = links[i];
if (!isInternal(link.href)) {
Expand Down
10 changes: 10 additions & 0 deletions docs/search.json
Original file line number Diff line number Diff line change
Expand Up @@ -3148,5 +3148,15 @@
"crumbs": [
"<span class='chapter-number'>23</span>  <span class='chapter-title'>Регрессионные модели с `tidymodels`</span>"
]
},
{
"objectID": "plot.html#информативный-дизайн",
"href": "plot.html#информативный-дизайн",
"title": "3  Визуализации",
"section": "3.10 Информативный дизайн",
"text": "3.10 Информативный дизайн\nПоскольку нас интересует доля женщин, логично поменять группы местами.\n\nnoveltm_new |&gt; \n ggplot(aes(decade, fill = gender)) +\n # меняем местами группы\n geom_bar(position = position_fill(reverse = TRUE)) +\n coord_flip() +\n # разные мелочи\n ylab(NULL) + \n xlab(NULL) + \n theme_void()\n\n\n\n\n\n\n\n\nТакже поменяем порядок, в котором идут декады (от меньшей к большей).\n\nnoveltm_new |&gt; \n ggplot(aes(decade, fill = gender)) +\n geom_bar(position = position_fill(reverse = TRUE)) +\n # меняем порядок лет\n scale_x_reverse() +\n coord_flip() +\n ylab(NULL) + \n xlab(NULL) + \n theme_void()\n\n\n\n\n\n\n\n\nУбавим цвет в мужской части диаграммы и добавим заголовки.\n\nnoveltm_new |&gt; \n ggplot(aes(decade, fill = gender)) +\n geom_bar(position = position_fill(reverse = TRUE),\n # обводим столбики \n color = \"darkred\", \n # убираем легенду\n show.legend = FALSE) +\n scale_x_reverse() +\n # беремся за палитру\n scale_fill_manual(values = c(\"lightcoral\", \"white\")) +\n coord_flip() +\n theme_void() + \n labs(\n x = NULL,\n y = NULL,\n title = \"Women Share per Decade\",\n subtitle = \"NovelTM Data 1800-2009\"\n ) + \n # меняем цвет и шрифт текста\n theme(text=element_text(size=12, family=\"serif\", color = \"darkred\"),\n axis.text = element_text(color = \"darkred\"))\n\n\n\n\n\n\n\n\nСтоит подвинуть заголовок и убрать просветы между столбцами.\n\n# почти ничего нового!\nnoveltm_new |&gt; \n ggplot(aes(decade, fill = gender)) +\n geom_bar(position = position_fill(reverse = TRUE),\n color = \"darkred\", \n show.legend = FALSE,\n # столбик во всю ширину\n width = 10\n) +\n # добавляем делений на оси\n scale_x_reverse(breaks = seq(1800, 2000, 10)) +\n scale_fill_manual(values = c(\"lightcoral\", \"white\")) +\n coord_flip() +\n theme_void() + \n labs(\n x = NULL,\n y = NULL,\n title = \"Women Share per Decade\",\n subtitle = \"NovelTM Data 1800-2009\"\n ) + \n theme(text=element_text(size=12, family=\"serif\", color = \"darkred\"),\n axis.text = element_text(color = \"darkred\"),\n # выравниваем заголовок\n plot.title.position = \"plot\")\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nЗадание\n\n\n\nПостройте несколько графиков с использованием датасета starwars из пакета dplyr. Используйте тему “Звездных войн” из ThemePark.",
"crumbs": [
"<span class='chapter-number'>3</span>  <span class='chapter-title'>Визуализации</span>"
]
}
]

0 comments on commit 9d39cac

Please sign in to comment.