Суббота, 04.04.2026, 21:47Приветствуем вас Гость | RSS
Решение задач в среде R
Главная | ggplot | Регистрация | Вход
» Меню сайта

» R практикум

» R кодинг

» Rmatem

» Опрос
Сколько вам лет?
Всего ответов: 9

» Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Что есть ggplot2?

ggplot2 — это внешний пакет языка R, который позволяет строить красивые и сложные визуализации. Как и любой R-пакет, это набор функций, которые позволяют делать те или иные преобразования с графиками. Пакет ggplot2 является частью семейства пакетов tidyverse

Библиотека ggplot2 позволяет строить красивые графики. Установим библиотеку.

install.packages("ggplot2")

Обратимся к библиотеке ggplot2 (и заодно к dplyr, она нам тоже понадобится):

library(ggplot2)
library(dplyr)

Примечание: ещё есть библиотека tidyverse, которая, помимо прочих библиотек, включает в себя и dplyr, и ggplot2 сразу. Так что, можно установить её и подгружать всегда, когда нужно обрабатывать данные и визуализировать. Для начала решим самую простую задачу: с помощью ggplot построим два графика (квадратичной и линейной функции) и постараемся узнать как можно точнее по графику точку, где эти графики пересекаются. Первое что нам нужно будет сделать это создать необходимый датасет :

library(ggplot2)
set.seed(5)
x = seq(-3, 3, 0.1)
y = 4 - x^2 
z = x*2 -4
df = data.frame(x, y, z)
head(df)

>df = data.frame(x, y, z)
> head(df)
 x y z
1 -3.0 1.3 -10.0
2 -2.9 -14.4 -9.8
3 -2.8 4.9 -9.6
4 -2.7 -3.8 -9.4
5 -2.6 -13.9 -9.2
6 -2.5 1.5 -9.0

Теперь перейдем к ggplot2. Можно считать, что у библиотеки ggplot2 есть своя философия, поняв которую, строить графики гораздо легче.

Во-первых, графики ggplot многослойные, то есть строятся они поэтапно, по слоям. Сначала указывается датафрейм, с которым мы работаем, и интересующие нас показатели (первый слой), затем указывается тип графика (второй слой), затем настройки для подписей, легенды и прочее (остальные слои). Все слои добавляются через +.

Во-вторых, для любого графика указывается функция aes, сокращенно от aesthetics, в качестве аргументов которой задаются переменные интереса (которые хотим отобразить на графике), а также элементы оформления графика, которое непосредственно связано с переменными в датафрейме. О чём речь? В нашем примере мы укажем какие данные нужно отложить на оси ох и оу:

ggplot(data = df) +
  geom_line(aes(x = x, y = y), lwd = 1.2, col = 'red') +
  geom_point(aes(x = x, y = y),size=2,shape = 1) +
  
  geom_line(aes(x = x, y = z), lwd = 1.2, col = 'blue')+
  theme_linedraw()

Как видите все просто, а в следующий раз займемся более наглядным оформлением. А задачу мы решили: наглядно видно где именно пересекаются графики. Как добавить координатную сетку в ggplot2?

x = seq(-2*pi, 2*pi, 0.1)
y = sin(x)
df = data.frame(x, y)
ggplot(data = df, aes(x,y))+
  ggtitle('y(x)=sin(x)')+
  scale_y_continuous(breaks = seq(-1, 1, 0.25))+
  scale_x_continuous(breaks = seq(-6, 6, 1))+
  geom_vline(xintercept = 0,linewidth = 1.5)+
  geom_hline(yintercept = 0,linewidth = 1.5)+
  geom_line(colour = 'blue',linewidth = 1.2)+
  theme_linedraw()

» Вход на сайт

» Поиск

» Работа с файлами

» Вся графика

» Гистогра́мма

» Теория вероятности

» Сравнение групп

» Дисперс анализ

» Блог

» Календарь
«  Апрель 2026  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930

» Архив записей


Copyright MyCorp © 2026
uCoz