ggplot图例显示数据中不存在的级别

时间:2012-04-20 21:06:16

标签: r ggplot2

我有一个情节,其图例应包含两个级别。 Ggplot显示了一个包含六个级别的图例,其中包括四个未出现在数据框中的图例。问题的简单复制如下所示:

x <- seq(from=1, to=10, by=0.5)
y.2 <- x^2
y.3 <- x^3
exponent.2 <- 2
exponent.3 <- 3
data2 <- data.frame(x=x, y=y.2, exponent = exponent.2)
data3 <- data.frame(x=x, y=y.3, exponent = exponent.3)
data <- rbind(data2, data3)
p <- ggplot(data,aes(x,y,group=exponent, color=exponent)) + geom_line()
p

我显然做错了什么,但需要帮助才能找到问题。

2 个答案:

答案 0 :(得分:5)

ggplot2将指数解释为连续变量;因此它会显示与pretty(c(2, 3))将返回的内容类似的多个中断。

您可以使用colour = factor(exponent),或明确指定颜色中断。

答案 1 :(得分:3)

尝试

p <- ggplot(data,aes(x,y,group=factor(exponent), color=factor(exponent))) + geom_line()