ggplot2 - расходящиеся графики
В предыдущих главах мы рассмотрели различные типы диаграмм, которые можно создать с помощью пакета «ggplot2». Теперь мы сосредоточимся на различных вариациях, таких как расходящиеся гистограммы, диаграммы в виде леденцов и многое другое. Для начала мы начнем с создания расходящихся гистограмм, и шаги, которые необходимо выполнить, упомянуты ниже -
Понимание набора данных
Загрузите требуемый пакет и создайте новый столбец под названием «название автомобиля» в наборе данных миль на галлон.
#Load ggplot
> library(ggplot2)
> # create new column for car names
> mtcars$`car name` <- rownames(mtcars)
> # compute normalized mpg
> mtcars$mpg_z <- round((mtcars$mpg - mean(mtcars$mpg))/sd(mtcars$mpg), 2)
> # above / below avg flag
> mtcars$mpg_type <- ifelse(mtcars$mpg_z < 0, "below", "above")
> # sort
> mtcars <- mtcars[order(mtcars$mpg_z), ]
Вышеупомянутое вычисление включает создание нового столбца для названий автомобилей, вычисление нормализованного набора данных с помощью функции округления. Мы также можем использовать флаг avg выше и ниже, чтобы получить значения функциональности «тип». Позже мы сортируем значения, чтобы создать необходимый набор данных.
Полученный результат выглядит следующим образом -
Преобразуйте значения в коэффициент, чтобы сохранить отсортированный порядок на конкретном графике, как указано ниже -
> # convert to factor to retain sorted order in plot.
> mtcars$`car name` <- factor(mtcars$`car name`, levels = mtcars$`car name`)
Полученный результат упомянут ниже -
Расходящаяся гистограмма
Теперь создайте расходящуюся гистограмму с указанными атрибутами, которая будет принята в качестве требуемых координат.
> # Diverging Barcharts
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_bar(stat='identity', aes(fill=mpg_type), width=.5) +
+ scale_fill_manual(name="Mileage",
+ labels = c("Above Average", "Below Average"),
+ values = c("above"="#00ba38", "below"="#f8766d")) +
+ labs(subtitle="Normalised mileage from 'mtcars'",
+ title= "Diverging Bars") +
+ coord_flip()
Note - На расходящейся гистограмме отмечены некоторые элементы измерения, указывающие вверх или вниз по отношению к упомянутым значениям.
Вывод расходящейся гистограммы упомянут ниже, где мы используем функцию geom_bar для создания гистограммы -
Диаграмма расходящихся леденцов
Создайте расходящуюся диаграмму леденца на палочке с теми же атрибутами и координатами, только изменив функцию, которая будет использоваться, то есть geom_segment (), который помогает в создании диаграмм леденца на палочке.
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_point(stat='identity', fill="black", size=6) +
+ geom_segment(aes(y = 0,
+ x = `car name`,
+ yend = mpg_z,
+ xend = `car name`),
+ color = "black") +
+ geom_text(color="white", size=2) +
+ labs(title="Diverging Lollipop Chart",
+ subtitle="Normalized mileage from 'mtcars': Lollipop") +
+ ylim(-2.5, 2.5) +
+ coord_flip()
Расходящиеся точки
Создайте расходящийся точечный график аналогичным образом, где точки представляют точки на разбросанных графиках в большем измерении.
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_point(stat='identity', aes(col=mpg_type), size=6) +
+ scale_color_manual(name="Mileage",
+ labels = c("Above Average", "Below Average"),
+ values = c("above"="#00ba38", "below"="#f8766d")) +
+ geom_text(color="white", size=2) +
+ labs(title="Diverging Dot Plot",
+ subtitle="Normalized mileage from 'mtcars': Dotplot") +
+ ylim(-2.5, 2.5) +
+ coord_flip()
Здесь условные обозначения представляют значения «Выше среднего» и «Ниже среднего» с различными цветами зеленого и красного. Точечный график передает статическую информацию. Принципы те же, что и для расходящейся гистограммы, за исключением того, что используются только точки.