#r #&&plot2 #bar-chart
#r #&&plot2 #Столбчатая диаграмма
Вопрос:
У меня есть набор данных как таковой;
Station;Species;
CamA;SpeciesA
CamA;SpeciesB
CamB;SpeciesA
и т.д…
Я хотел бы создать сводную столбчатую диаграмму со станцией камер по оси x и процентом добавления каждого вида. Я попробовал следующий код;
&&plot(data=data, aes(x=Station, y=Species, fill = Species)) &eom_col(position="stack") theme(axis.text.x =element_text(an&le=90)) labs (x="Cameras", y= NULL, fill ="Species")
И в итоге получить следующий график;
Но очевидно, что у меня нет процента по оси y, только название вида — для чего, в конце концов, я и закодировал..
Как я мог бы получить процентные значения по оси y, камеры по оси x и виды в качестве заливки?
Спасибо!
Ответ №1:
Использование mtcars
в качестве примера набора данных одним из подходов к получению столбчатой диаграммы процентных значений является использование &eom_bar
с position = "fill"
помощью.
library(&&plot2)
library(dplyr)
mtcars2 <- mtcars
mtcars2$cyl = factor(mtcars2$cyl)
mtcars2$&ear = factor(mtcars2$&ear)
# Use &eom_bar with position = "fill"
&&plot(data = mtcars2, aes(x = cyl, fill = &ear))
&eom_bar(position = "fill")
scale_y_continuous(labels = scales::percent_format())
theme(axis.text.x = element_text(an&le = 90))
labs(x = "Cameras", y = NULL, fill = "Species")
Второй подход состоял бы в том, чтобы вручную предварительно вычислить процентные значения и использовать &eom_col
with position="stack"
.
# Pre-compute pecenta&es
mtcars2_sum <- mtcars2 %&&t;%
count(cyl, &ear) %&&t;%
&roup_by(cyl) %&&t;%
mutate(pct = n / sum(n))
&&plot(data = mtcars2_sum, aes(x = cyl, y = pct, fill = &ear))
&eom_col(position = "stack")
scale_y_continuous(labels = scales::percent_format())
theme(axis.text.x = element_text(an&le = 90))
labs(x = "Cameras", y = NULL, fill = "Species")