Редактирование надписей (текстовых) меток в ggplot

Я потратил часы на просмотр документации и на StackOverflow, но никакое решение, похоже, не решило мою проблему. При использовании ggplot я не могу получить правильный текст в легенде, даже если он находится в моем фреймворке. Я попробовал scale_colour_manual , scale_fill_manual с разными значениями для labels= c("T999", "T888")", "cols" .

Вот мой код:

 T999 <- runif(10, 100, 200) T888 <- runif(10, 200, 300) TY <- runif(10, 20, 30) df <- data.frame(T999, T888, TY) ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) + geom_point(size = 15, colour = "darkblue") + geom_point(data = df, aes(x=T888, y=TY), colour = 'red', size = 10 ) + theme(axis.text.x = element_text(size = 20), axis.title.x =element_text(size = 20), axis.text.y = element_text(size = 20)) + xlab("Txxx") + ylab("TY [°C]") + labs(title="temperatures", size = 15) + scale_colour_manual(labels = c("T999", "T888"), values = c("darkblue", "red")) + theme(legend.position="topright") 

Помощь будет очень признательна! Спасибо.

В учебнике @Henrik упоминается отличный ресурс для изучения того, как создавать сюжеты с пакетом ggplot2 .

Пример с вашими данными:

 # transforming the data from wide to long library(reshape2) dfm <- melt(df, id="TY") # creating a scatterplot ggplot(data = dfm, aes(x=TY, y=value, color=variable)) + geom_point(size=5) + labs(title = "Temperatures\n", x = "TY [°C]", y = "Txxx", color = "Legend Title\n") + scale_color_manual(labels = c("T999", "T888"), values = c("blue", "red")) + theme_bw() + theme(axis.text.x=element_text(size=14), axis.title.x=element_text(size=16), axis.text.y=element_text(size=14), axis.title.x=element_text(size=16), plot.title=element_text(size=20, face="bold", color="darkgreen")) 

это приводит к:

введите описание изображения здесь

Как указано в @ user2739472 в комментариях: если вы хотите изменить только текстовые метки легенды, а не цвета из палитры по умолчанию ggplot, вы можете использовать scale_color_hue(labels = c("T999", "T888")) вместо scale_color_manual() .

Названия легенд могут быть помечены определенной эстетикой .

Это может быть достигнуто с помощью функций guides() или labs() из ggplot2 (подробнее здесь и здесь ). Это позволяет добавлять свойства руководства / легенды с использованием эстетического картографирования.

Вот пример использования mtcars данных mtcars и labs() :

 ggplot(mtcars, aes(x=mpg, y=disp, size=hp, col=as.factor(cyl), shape=as.factor(gear))) + geom_point() + labs(x="miles per gallon", y="displacement", size="horsepower", col="# of cylinders", shape="# of gears") 

введите описание изображения здесь

Отвечая на вопрос OP с помощью guides() :

 # transforming the data from wide to long require(reshape2) dfm <- melt(df, id="TY") # creating a scatterplot ggplot(data = dfm, aes(x=TY, y=value, color=variable)) + geom_point(size=5) + labs(title="Temperatures\n", x="TY [°C]", y="Txxx") + scale_color_manual(labels = c("T999", "T888"), values = c("blue", "red")) + theme_bw() + guides(color=guide_legend("my title")) # add guide properties by aesthetic 

введите описание изображения здесь

  • Как извлечь текст из PDF?
  • Получить последние 10 строк очень большого текстового файла> 10 ГБ
  • Как читать файл из файла jar?
  • Преобразование записанного числа в число в R
  • Command-A не выделяет текст в нескольких текстовых полях для Mac OS X
  • Прямая косая черта или обратная косая черта?
  • Что представляет собой современное состояние для текстового рендеринга в OpenGL с версии 4.1?
  • Java - прокрутите до определенного текста внутри JTextArea
  • автоматически resize текста (размер шрифта) при изменении размера windows?
  • Добавить текстовую метку в узел d3 в силовой макете
  • Подчеркивать текст в UIlabel
  • Давайте будем гением компьютера.