Я студент колледжа, и нам нужно создать несколько графиков с помощью Rstudio для задания. Мне удалось выполнить основную цель этой первой задачи, а именно создать простую гистограмму с предоставленными данными; однако у меня возникают проблемы с маркировкой осей желаемым текстом.
Вот код:
library (ggplot2)
Country = as.factor(c("slovakia", "iceland", "lithuania"))
Waste = c(2.0, 3.7, 2.1, 2.3, 1.7, 2.5)
Year = as.factor(c("2004", "2018"))
data = data.frame(Country, Waste, Year)
ggplot(data,
aes(x = Country,
y = Waste,
fill = Year)) +
geom_bar(stat = "identity",
position = "dodge")
xlab("Country")
ylab("Tons of waste per capita")
Но я хочу, чтобы метки осей имели этот конкретный текст (сделанный с помощью Word):
Обратите внимание, что нас специально попросили использовать ggplot
.
С ggplot2
вы должны использовать +
в конце строки кода, чтобы добавить дополнительные слои к вашему графику. Если нет, то R просто читает эти строки кода как отдельные строки, что выдает ошибку. Итак, в вашем коде отсутствует знак в конце geom_bar
и xlab
, что означает, что строки меток x и y никогда не добавляются к вашему графику.
library(ggplot2)
ggplot(data,
aes(x = Country,
y = Waste,
fill = Year)) +
geom_bar(stat = "identity",
position = "dodge") +
xlab("Country") +
ylab("Tons of waste per capita")
Выход
Данные
data <- structure(list(Country = structure(c(3L, 1L, 2L, 3L, 1L, 2L), class = "factor", levels = c("iceland",
"lithuania", "slovakia")), Waste = c(2, 3.7, 2.1, 2.3, 1.7, 2.5
), Year = structure(c(1L, 2L, 1L, 2L, 1L, 2L), class = "factor", levels = c("2004",
"2018"))), class = "data.frame", row.names = c(NA, -6L))
Хороший совет от AndrewGB. Также см. пакет R equisse: rdocumentation.org/packages/esquisse/versions/1.1.0 Это очень удобный построитель ggplot с перетаскиванием для R. Вы можете построить расширенный график, а затем скопировать и вставить сгенерированный код в R studio для точной настройки. На ютубе есть обучающие видео.