假设有一个2x2矩阵,其中输入矩阵中有两行(每行表示一个technique),每行有两列。现在我想画一张ggplot。在ggplot中设置线条颜色的典型方法中,我们将color设置为沿一个维度(即列)变化,将linetype设置为沿另一个维度(即行)变化:
geom_line(aes(color=m, linetype=techniques))是否有一种方法可以对属于其中一组的所有线条强制使用一种颜色,即黑色?例如,有没有一种方法可以做一些类似的事情:
### 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"))上面的解决方案对两组(techniques1和techniques2)都进行了更改。
发布于 2016-06-24 22:56:51
方法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轴不是同一单位的..但这只是为了展示你是如何做到的。
发布于 2016-06-24 23:06:37
你可能需要创建一个新的变量来控制颜色,例如
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列作为颜色变量
https://stackoverflow.com/questions/38015651
复制相似问题