Как понять, какая легенда и какая, и удалить одну из них в ggplot в R? - PullRequest
2 голосов
/ 02 ноября 2019

Я прочитал много вопросов здесь и в Google о легендах в ggplot. Тем не менее, я до сих пор не могу понять, почему следующий код производит 2 разные легенды и как управлять ими по отдельности.

По сути, мне нужно отформатировать текст слева, потому что он производит правильное визуальное представление о типах линий, и удалить справа.

Буду очень признателен, если вы поможете мнена этом и объясните мне, почему последний вообще существует и почему он производит неправильные визуальные эффекты для типов линий, и почему это единственное, что затрагивается, когда я пытаюсь отформатировать легенду.

PS Перед моей попыткой отформатироватьЛегенда о втором даже не существовала.

Если их еще нет, эти пакеты должны быть установлены.

install.packages(ggplot2)
install.packages(reshape2)
install.packages(scales)

Теперь код.

library(ggplot2)
library(reshape2)
library(scales)

data(economics)
dataset <- economics[, c("date", "psavert", "uempmed")]
dataset <- melt(dataset, id = "date")

ch <- ggplot(data=dataset, aes(x=date, y=value, group = variable ))+
  geom_line(aes(linetype=variable, color=variable))+
  scale_linetype_manual(values=c("solid", "longdash"))+
  scale_color_manual(values=c('#005493','#666666'), labels = c("Personal savings rate (%)", "Median 
duration of unemployment (weeks)"))+
  theme(legend.position="bottom" , plot.title = element_text(face = "bold", size = (14), colour = 
"#9E0010"),
    axis.title.y = element_text(size = (12), face = "italic"))+
  labs( title= "Pointless economic plot", y="Value", x=" ", colour= "Indicator")

print(ch)

Image Output Here

Ответы [ 2 ]

2 голосов
/ 02 ноября 2019

Это удаляет цветовую легенду и добавляет цвета к легенде типа линии. Он также меняет название легенды на My title, делает его более крупным и красным, а текст легенды - большим, синим и жирным.

ch + 
  guides(color = FALSE, 
         linetype = guide_legend(
                      title = element_text("My title"), 
                      override.aes = list(color = c('#005493', '#666666')))) +
  theme(legend.text = element_text(color="blue", size = 16, face = "bold"),
        legend.title = element_text(color = "red", size = 16))

screenshot

2 голосов
/ 02 ноября 2019

Похоже, что добавление ,guide=FALSE к вашему scale_linetype_manual сделает это.

#install.packages(ggplot2)
library(ggplot2)
#install.packages(reshape2)
library(reshape2)
#install.packages(scales)
library(scales)
data(economics)
dataset <- economics[, c("date", "psavert", "uempmed")]
dataset <- melt(dataset, id = "date")

ch <- ggplot(data=dataset, aes(x=date, y=value, group = variable ))+
  geom_line(aes(linetype=variable, color=variable))+
  scale_linetype_manual(values=c("solid", "longdash"), guide = FALSE)+
  scale_color_manual(values=c('#005493','#666666'), labels = c("Personal savings rate (%)", "Median 
                                                               duration of unemployment (weeks)"))+
  theme(legend.position="bottom" , plot.title = element_text(face = "bold", size = (14), colour =   "#9E0010"),
        axis.title.y = element_text(size = (12), face = "italic"))+
  labs( title= "Pointless economic plot", y="Value", x=" ", colour= "Indicator") 


Создано в 2019-11-02 с помощью пакета Представить (v0.3.0)

...