簡體   English   中英

將圖例添加到ggplot

[英]Adding legend to ggplot

這個問題是這篇文章的后續內容: 一篇文章

我有12個變量, M1,M2,...,M12 ,我為此計算某些統計xy

 df = data.frame(model = factor(paste("M", 1:28, sep = ""), levels=paste("M", 1:28, sep = "")), a = runif(28, 1, 1.05), b = runif(28, 1, 1.05))

 levels = seq(0.8, 1.2, 0.05)

這是情節:

 ggplot(data=df) + 
   geom_polygon(aes(x=model, y=a, group=1), color = "red", fill = NA) + 
   geom_polygon(aes(x=model, y=b, group=1), color = "blue", fill = NA) +
   coord_polar() + 
   scale_y_continuous(limits=range(levels), breaks=levels, labels=levels) +
   theme(axis.text.y = element_blank(), axis.ticks = element_blank(), axis.title.x = element_blank(), axis.title.y = element_blank())

我想在情節中添加一個圖例,其中我有兩條線,一條紅色標記為“a”,一條藍色標記為“b”。

我嘗試使用scale_colour_manual如下:

scale_colour_manual(values = c("red", "blue"), labels = c("a", "b"))

但它似乎沒有用。 任何幫助,將不勝感激。 謝謝!

library(reshape2)
df1 <- melt(df, id="model")

levels = seq(0.8, 1.2, 0.05)

ggplot(data=df1) + 
  geom_polygon(aes(x=model, y=value, group=variable, colour=variable), fill = NA) + 
  scale_colour_manual(values=c("a"="blue", "b"="red")) +
  coord_polar() + 
  scale_y_continuous(limits=range(levels), breaks=levels, labels=levels) +
  theme(axis.text.y = element_blank(), axis.ticks = element_blank(), axis.title.x = element_blank(), axis.title.y = element_blank())

在此輸入圖像描述

您可以通過添加以下內容從圖例中刪除背景:

+ theme(legend.background=element_rect(colour=NA) 

不要忘記添加最后一個右括號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM