У меня есть следующий сюжет, как показано ниже. Он был создан с помощью этой команды:
library(ggplot2)
df <- data.frame(cond = factor(rep(c("A", "B"), each = 200)),
rating = c(rnorm(200), rnorm(200, mean=.8)))
ggplot(df, aes(x=rating, fill=cond)) +
geom_density(alpha = .3) +
xlab("NEW RATING TITLE") +
ylab("NEW DENSITY TITLE")
Теперь я хочу изменить название легенды из cond на NEW LEGEND TITLE .
Итак, я просто добавил следующую строку и добавил конец приведенного выше кода:
+labs(colour="NEW LEGEND TITLE")
Но это не работает. Какой правильный способ сделать это?
labs(fill="xyz")
должен сделатьgeom_
утверждениями, я рекомендую ответ на stackoverflow.com/a/38485985/1169233 , он единственный, который работал для меня.Ответы:
Это должно работать:
(или альтернативно)
источник
p$labels$fill <- "New Legend Title"
p$labels$fill
не работал для меня Сggplot2_2.1.0
я используюp$labels$colour <- "New legend title"
p$labels$fill
это хорошо, но если вы используете более одной переменной в эстетике (тип линии, цвет, форма) в aes, вы должны изменить их для каждой отдельно.Я не слишком углубился в это, но потому что вы использовали fill = cond в ggplot (),
возможно, не сработало. Однако вы замените цвет на заливку , это работает!
Это сработало для меня в ggplot2_2.1.0
источник
p + guides(fill=guide_legend(title="New Legend Title"))
Так как у вас есть две плотности, я думаю, вы, возможно, захотите установить свои собственные цвета с
scale_fill_manual
.Если это так, вы можете сделать:
источник
Ни один из приведенных выше кодов не работает для меня.
Вот что я нашел и это сработало.
labs(color = "sale year")
Вы также можете оставить пробел между заголовком и дисплеем, добавив
\n
в конце.labs(color = 'sale year\n")
источник
fill
вместоcolor
(илиcolour
) нужна? Учитывая время вопроса, возможно, это связано сggplot2
версией.Поскольку в вашем коде вы использовали
ggplot(data, fill= cond)
для создания гистограммы вам нужно добавить заголовок легенды также при помощи «заливки» в разделе этикетки , т.е.+labs(fill="Title name")
. Если вы использовали другой тип графика, где код был ggplot (data, color = cond), то вы можете использовать+labs(colour= "Title Name")
. Таким образом, лабораторный аргумент должен соответствовать аргументу aes.Я использовал
+ guides(fill=guide_legend("my awesome title"))
для изменения заголовка легенды на графиках geom_bar, но он не работал для geom_point.источник
geom_point()
меня это работает:guides(color=guide_legend("Type:"))
guides(color=guide_legend("Score Ranking:"))
Есть еще один очень простой ответ, который может работать для некоторых простых графиков.
Просто добавьте вызов guide_legend () в свой график.
Как показано в очень хороших документах ggplot .
Если это не сработает, вы можете более точно установить параметры вашего гида с помощью вызова гида :
Вы также можете изменить форму / цвет / размер, указав эти параметры для вашего вызова
guides
.источник
qplot(…) + guides(color=guide_legend(title="sale year"))
сработалоПросто чтобы добавить в список (другие опции здесь не работали для меня), вы также можете использовать функцию update_labels для ggplot:
Это также позволит вам изменять метки по осям X и Y отдельными строками:
источник
Я заметил, что есть два способа изменить / указать legend.title для ggboxplot ():
Код модифицируется на основе примера из GitHub .
источник
Я использую facet_wrap в своем ggplot, и ни одно из предложенных решений не сработало для меня, кроме решения ArnaudA:
источник
Многие люди тратят много времени на изменение меток, меток легенд, заголовков и названий оси, потому что они не знают, что в R можно загрузить таблицы с пробелами
" "
. Однако вы можете сделать это, чтобы сэкономить время или уменьшить размер вашего кода, указав разделители при загрузке таблицы, которая, например, разделена вкладками (или любым другим разделителем, отличным от значения по умолчанию, или одним пробелом):или используя параметры загрузки по умолчанию в формате csv:
Это означает, что вы можете напрямую сохранить имя
"NEW LEGEND TITLE"
в качестве имени столбца (заголовка) в исходном файле данных, чтобы избежать указания нового заголовка легенды на каждом графике.источник
ggplot(df) + labs(legend = '<legend_title>')
источник