我有一个情节,其图例应包含两个级别。 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
我显然做错了什么,但需要帮助才能找到问题。
答案 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()