我正在尝试用代表不同变量(即列)的五条单独的线绘制图表。我一直在尝试修复图例,但无法正确解决。颜色似乎也不正确,所以我对如何进行感到困惑。数据,代码和当前图如下:
test.dat <- data.frame(matrix(c(0,.072,.063,.062,.059,.055,1,.029,.035,.024,.036,.017),
nrow=2,byrow=T))
colnames(test.dat) <- c("X1","Y1","Y2","Y3","Y4","Y5")
test.plot <- ggplot(data=test.dat) +
geom_line(aes(x=X1, y=Y1, color="darkred")) +
geom_line(aes(x=X1, y=Y2, color="darkgreen")) +
geom_line(aes(x=X1, y=Y3, color="darkblue")) +
geom_line(aes(x=X1, y=Y4, color="darkorange")) +
geom_line(aes(x=X1, y=Y5, color="darkgoldenrod"))
我正在尝试为图例上的行命名变量名称(即Y1,Y2等),并为图例本身命名。我四处搜寻以找出如何更改图例,但是我没有尝试更改图。我还需要修复轴标签并添加图标题。
我对ggplot还是很陌生,所以朝正确方向的一点将不胜感激。请让我知道是否可以澄清任何事情。
答案 0 :(得分:3)
如果将数据从宽变长,然后再绘制线条,会更容易。您还要在aes()参数中定义颜色,该颜色不会更改颜色,但实际上会创建一个具有该值的变量。 您没有确切提及要使用轴标签的操作,但是可以使用scale_x_continuous或scale_y_continuous
对其进行编辑。library(tidyverse)
test.dat <- data.frame(matrix(c(0,.072,.063,.062,.059,.055,1,.029,.035,.024,.036,.017),
nrow=2,byrow=T))
colnames(test.dat) <- c("X1","Y1","Y2","Y3","Y4","Y5")
test.dat %>%
gather(Y_var, value, -X1) %>%
ggplot(aes(x = X1, y = value, color = Y_var)) +
geom_line() +
scale_color_manual(
values = c("darkred","darkgreen","darkblue","darkorange",
"darkgoldenrod")
) +
labs(title = "Some plot title",
color = "Some legend title")