3

我有一个图例,其图例应包含两个级别。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

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

4

2 回答 2

5

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

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

于 2012-04-20T21:19:48.970 回答
3

尝试

p <- ggplot(data,aes(x,y,group=factor(exponent), color=factor(exponent))) + geom_line()
于 2012-04-20T21:17:12.433 回答