Можно ли вручную указать количество факторов, показанных на столбе в легенде ggplot? Это воспроизводимый пример демонстрирует то, что я пытаюсь сделать:Указание количества факторов в столбцах легенды
#loading libraries
library(ggplot2)
#Creating hypothetical dataframe
services<-data.frame(study=c(0),category=c(0),subcategory=c(0))
services<-services[-1,]
services[1:15,1]<-c(1:15)
services[1:4,2]<-c("Provisioning", "Regulating", "Suporting", "Cultural")
services[5:8,2]<-c("Provisioning", "Regulating", "Suporting", "Cultural")
services[9:10,2]<-c("Provisioning", "Regulating")
services[11:15,2]<-c("Provisioning", "Regulating", "Suporting", "Cultural", "Provisioning")
services[1:4,3]<-c("Water supply", "Climate regulation", "Soil formation", "Recreation")
services[5:8,3]<-c("Fisheries", "Water purification", "Habitat", "Recreation")
services[9:10,3]<-c("Water supply", "Flood regulation")
services[11:15,3]<-c("Agriculture", "Water purification", "Soil formation", "Aesthetics", "Fisheries")
services
#Manually re-ordering subcategory factors by larger categories and by number of occurences in the df (I am also looking for a better way to do this, as it must exist!!)
table(services$subcategory)
services$subcategory <- factor(services$subcategory,
levels=c(#Cultural services
"Recreation", "Aesthetics",
#Provisioning services
"Fisheries", "Water supply", "Agriculture",
#Regulating services
"Water purification", "Climate regulation","Flood regulation",
#Supporting services
"Soil formation", "Habitat"))
#Creating figure
ggplot(services, aes(category, fill=subcategory)) + geom_bar() +
theme(legend.position="right") +
guides(fill=guide_legend(ncol=4, title="Ecosystem Service Sub Categories"))+
xlab("Ecosystem Service Type") +
ylab("Number of times each ecosystem service was evaluated")
The Figure produced by this code
What would like the figure legend to look like instead!
An Even more advanced way I'd love the figure to come out as
Хотя this предложение и this один получить в этой идее, они делают не создавайте результат, который я ищу. Я размышлял над этой проблемой в течение нескольких недель и часами осматривал решение, потому что я против того, чтобы вручную выполнять эти настройки в точке питания, иллюстраторе и т. Д. Не могу найти хороший ответ, теперь я обращаюсь к вы, ребята! Спасибо за любую помощь!
Прочитано [документацию] (http://docs.ggplot2.org/current/guide_legend.html) для 'guide_legend()'? –
Да! Я определенно просмотрел это. Поскольку guide_legend() позволяет настроить многие аспекты легенды, такие как количество строк и столбцов, похоже, что здесь вы можете настроить количество факторов, которые появляются в каждой строке или столбце. Если я ошибаюсь, объясните! Я был бы счастлив разобраться в этом! –
Достаточно справедливо, тогда вы сможете поддразнивать ответ на свою проблемную форму [этот ответ SO] (http://stackoverflow.com/a/27804153/1305688) –