假设一个2x2矩阵,其中输入矩阵中有两行(每个都呈现technique
),每行有两列。现在我想绘制一个ggplot。在ggplot中设置线条颜色的典型方法中,我们将color
设置为沿一个维度(即列)和linetype
沿其他维度(即行)变化:
geom_line(aes(color=m, linetype=techniques))
对于属于其中一个组的所有行,是否有办法强制使用1种颜色,即黑色?例如,有没有办法做类似的事情:
### do this first
geom_line(aes(color=m, linetype=techniques))
###and then change the colors for one of the groups, i.e. for techniques1
scale_color_manual(values=c("black", "black"))
上述解决方案为两个组(技术1和技术2)更改了它。
答案 0 :(得分:0)
方法1
df <- mtcars
ggplot(data=df,aes(x=mpg,y=hp)) +geom_line(colour = "black") +geom_line(aes(x=mpg,y=cyl),colour = "black")
或方法2
df <- mtcars
df1 <- df[,-2,-3]
df2 <- df[,-4,-5]
ggplot(data=df1,aes(x=mpg,y=hp)) +geom_line(colour = "black")+geom_line(data=df2,aes(x=mpg, y = cyl), colour="black")
我知道y轴不是同一个单位..但这只是为了说明你是如何做到的。
答案 1 :(得分:0)
您可能需要创建一个新变量来控制颜色,例如
df$newColor <- paste(df$techniques, df$m, sep = "_")
df$newColor[df$techniques == "1"] <- "technique 1"
或者,如果您有更多需要着色的技术,但未单独命名:
df$newColor <- df$techniques
df$newColor[df$techniques == "1"] <- "technique 1"
然后使用newColor
列作为颜色变量