2016-07-06 7 views
0

ggplotgeom_lineのスロープグラフを作成しようとしています。データのサブセット(例えば、0.5よりも大きいもの)の線が赤で、0.5より小さい線が別の色になるようにしたい。R slopegraph geom_line color ggplot2

library(ggplot2) 
library(reshape2) 
mydata <- read.csv("testset.csv") 
mydatam = melt(mydata) 

ラインプロット:ここに私のコードです。この場合、

ggplot(mydatam, aes(factor(variable), value, group = Gene, label = Gene)) + 
     geom_line(col='red') 

、すべての行が赤いです。どのように変数> 0.5(それらのうち5つ、aa、ac、ba、bc、bd)と残りの黒い線を持つ "遺伝子"に対して赤い線を作るのですか?

mydatamは次のようになります。

Gene variable value 
1 aa Control 0.0 
2 ab Control 0.0 
3 ac Control 0.0 
4 ad Control 0.0 
5 ba Control 0.0 
6 bb Control 0.0 
7 bc Control 0.0 
8 bd Control 0.0 
9 aa  Low 0.6 
10 ab  Low 0.2 
11 ac  Low 0.8 
12 ad  Low 0.1 
13 ba  Low 0.7 
14 bb  Low 0.3 
15 bc  Low 0.8 
16 bd  Low 1.2 
17 aa  High -0.6 
18 ab  High 1.6 
19 ac  High 2.1 
20 ad  High 0.7 
21 ba  High -1.2 
22 bb  High -0.7 
23 bc  High -0.8 
24 bd  High 0.6 

答えて

0

おそらく、このためのデータで新しい変数を作成したいと思います。ここには1つの方法があります:

## Load dplyr package for data manipulation 
library("dplyr") 

## Genes where "Low" value is >0.5 
genes <- mydatam[mydatam$variable == "Low" & mydatam$value > 0.5, "Gene"] 

## Add new column 
newdat <- mutate(mydatam, newval = ifelse(Gene %in% genes, ">0.5", "<=0.5")) 

newvalを使用して色を設定することができます。

## Color lines based on `newval` column 
ggplot(newdat, aes(factor(variable), value, group = Gene, label = Gene)) + 
    geom_line(aes(color = newval)) + 
    scale_color_manual(values = c("#000000", "#FF0000")) 
関連する問題