Chcę wyróżnić pogrubione poszczególne etykiety osi. Jestem świadomy tego answer przez @MrFlick, ale nie mogę wymyślić, jak to zrobić a) dla więcej niż jednego przedmiotu, i b), czy możliwe jest użycie nazw etykiet zamiast liczby element na tej liście (lub wyrażenie).Wyróżnianie poszczególnych etykiet osi pogrubioną za pomocą ggplot2
Oto przykład zestawu danych:
require(ggplot2)
require(dplyr)
set.seed(36)
xx<-data.frame(YEAR=rep(c("X","Y"), each=20),
CLONE=rep(c("A","B","C","D","E"), each=4, 2),
TREAT=rep(c("T1","T2","T3","C"), 10),
VALUE=sample(c(1:10), 40, replace=T))
to jestem sortowaniu moje etykiety według określonej kombinacji czynnika, który następnie miał być utrzymany w wielu panelach działce. Zobacz moje poprzednie pytanie here.
clone_order <- xx %>% subset(TREAT == "C" & YEAR == "X") %>%
arrange(-VALUE) %>% select(CLONE) %>% unlist()
xx <- xx %>% mutate(CLONE = factor(CLONE, levels = clone_order))
ggplot(xx, aes(x=CLONE, y=VALUE, fill=YEAR)) +
geom_bar(stat="identity", position="dodge") +
facet_wrap(~TREAT)
Teraz chcę pogrubienie Clone
A
, B
i E
. Jestem pewien, że to zadziała jakoś, ale nie wiem jak. Idealnie byłoby wiedzieć, jak to zrobić, używając a), używając numeru pozycji na liście/wyrażeniu, i b), używając etykiety, np. A
, B
i E
.
Wow, to świetnie! Dzięki!Jeszcze jedno pytanie, czy byłoby również możliwe, poza pogrubieniem, zwiększenie rozmiaru czcionki pogrubionej etykiety, powiedzmy 2pt, używając 'size =' w 'axis.text.x'? – Stefan
Aye. Większość paramerów 'element_text()' jest wektoryzowana, ale musisz skopiować i zaadaptować tę funkcję, aby była zmieniarką 'size' względem zmieniacza' face'. – hrbrmstr
Próba dostosowania tego do alternatywnie górnego lub dolnego uzasadnia wybrane etykiety. Napisałem kod, ale po prostu tworzy on pustą fabułę. Zastąpiony "zwykły" z 1,0, i "pogrubiony" z 0.0 w twojej funkcji "colorado". I w wywołaniu fabuły: 'theme (axis.text.x = element_text (vjust = colorado2 (xx $ CLONE, c (" A "," B "," E "))))). Jednak zmiany zajmują połowę działki, której nie chcę. Wszelkie pomysły na skalowanie 0 lub 1 w obszarze etykiety na działce @hrbrmstr? – user2498193