ggplot2:行的颜色部分

时间:2015-11-26 17:23:33

标签: r ggplot2

我绊倒了。我需要你的意见和建议。我需要对线条的一部分应用不同的方案 - 颜色,虚线或增加“very_important_features”的厚度。我需要让它们在视觉上更具吸引力。

dat <- rbind(
x <- sort(sample(1:1000,size = 200) + sample(1:500,size = 200, replace = T)),
y <- sort(sample(1:1000,size = 200) + sample(1:200,size = 200, replace = T)),
z <- sort(sample(1:1000,size = 200) - sample(1:100,size = 200, replace = T)))
rownames(dat) <- c("x","y","z")
#colnames(dat) <- paste("feature",1:200,sep="_")
library(reshape)
dat.m <- melt(dat)
ggplot(data=dat.m, aes(x=X2, y=value, group=X1, color = X1)) + geom_line()
very_important_features <- unique(sort(sample(dat.m$X2, 100)))

2 个答案:

答案 0 :(得分:4)

通常更好的做法是将要绘制的事物标识为数据中的单独列,以便它可以映射到绘图美学/图层。这是一个例子:

1 - 将变量添加到数据框:

dat.m$important <- ifelse(dat.m$X2 < 60, "yes","no")

2 - 绘图,使用该变量作为控制大小的东西

ggplot(data=dat.m)+
  aes(x=X2, y=value, group=X1, color = X1, size=important) +
  geom_line()+
  scale_size_manual(values=c("yes"=3, "no"=1))

这是输出: plot with line size mapped to data frame variable

现在有一个方便的图例显示线条大小的含义。

答案 1 :(得分:0)

我有点不确定你想要突出哪个部分更突出,但这里有一个建议:

ggplot(data=dat.m, aes(x=X2, y=value, group=X1, color = X1)) + geom_line() +
  geom_line(data = dat.m[very_important_features, ], size = 2)

enter image description here