Я пытаюсь изменить метки фасетов в ggplot2. Я нашел this solutionКак изменить метки грани в ggplot2?
но он не работает для меня. Вот код, я использую
facets <- c("1", "2", "3", "4", "5")
names <- list(
'1'="one",
'2'="two",
'3'="three",
'4'="four",
'5'="five"
)
name_labeller <- function(variable,value){
return(names[value])
}
ggplot(Data[Data$Names %in% facets,], aes(y = y, x = x, group = Names)) +
geom_point(shape = 21, size=3, aes(fill=Part)) +
scale_fill_manual(values=c("gray90","gray40")) +
geom_smooth(method="lm", se= FALSE, size = 1, aes(color = Part, group = Part)) +
scale_color_manual(values=c("black","black")) +
geom_smooth(method = 'lm', size = 1, colour = 'red', se = FALSE) +
scale_x_log10() +
scale_y_log10() +
theme_bw() +
facet_grid(Names ~ ., labeller=name_labeller)
Когда я запускаю это, фасетки на участке читать «один», «три», «четыре» «[пусто]» и «[пусто]» (то есть последние два грани не обозначены), а не «один» «два», «три», «четыре» и «пять». Кроме того, он назначает «три» граням 2 и «четыре» для трех сторон.
Примечание: Если я изменяю порядок элементов в списке «имена», это влияет на грани, которые помечены. Кажется, есть проблема с name_labeller
, не вернувшим правильное слово, или labeller-name_labeller
не просит правильной вещи?
Это решение связано выше с 2010 года, возможно, ggplot2 изменился с тех пор? Кто-нибудь знает, как я могу изменить метки фасетов на этом сюжете?
Большое спасибо!
EDIT: Кроме того, я хотел бы отобразить текст курсивом, если это возможно, например. "один" "два" "три" "четыре" "пять". Я собирался заняться этим, как только я мог бы поменять грани, но если кто-то знает, что я не знаю, я буду признателен!
Почему у вас есть facet_grid() и facet_wrap() в одном сюжете ?? Вы должны использовать только один из них. –
Также трудно помочь в вашем конкретном случае, потому что у нас нет данных и не может проверить ваш код. –
Спасибо за ваш отзыв Didzis! Спасибо за то, что проблема связана с тем, что в коде есть facet_grid() и facet_wrap(). Я удалил facet_wrap(), и теперь три ярлыка появляются, но в неправильном аспекте, например. он показывает «один» «три» и «четыре» на трех верхних гранях. Я отредактирую свое оригинальное сообщение, чтобы это отразить. – Thomas