如何理解哪个图例是哪个图例并在 R 的 ggplot 中删除其中一个?
Posted
技术标签:
【中文标题】如何理解哪个图例是哪个图例并在 R 的 ggplot 中删除其中一个?【英文标题】:How to understand which legend is which and remove one of them in ggplot in R? 【发布时间】:2020-02-28 14:28:50 【问题描述】:我在这里和谷歌阅读了很多关于 ggplot 中的传说的问题。但是,我仍然不明白为什么下面的代码会产生 2 个不同的图例以及如何分别控制它们。
基本上我需要的是格式化左侧的文本,因为它会产生关于线型的正确视觉效果并删除右侧的文本。
如果您能帮助我并解释为什么后者甚至存在,为什么它会为线型产生错误的视觉效果,以及为什么它是我尝试格式化图例时唯一受到影响的视觉效果,我将非常感激。
附:在我尝试格式化图例之前,第二个甚至不存在。
如果还没有,则需要安装这些包。
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)
【问题讨论】:
【参考方案1】:似乎将,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")
由reprex package (v0.3.0) 于 2019 年 11 月 2 日创建
【讨论】:
【参考方案2】:这将删除颜色图例并将颜色添加到线型图例中。它还将图例标题更改为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))
【讨论】:
以上是关于如何理解哪个图例是哪个图例并在 R 的 ggplot 中删除其中一个?的主要内容,如果未能解决你的问题,请参考以下文章