2015-08-18 172 views
0

enter image description here繪製在具有不同y軸上y軸的多個特徵縮放

我有一個數據組,其中各列是時間和不同的特徵,例如:

time rtt drc rl 
1234 2222 23 8000 

每個的上限和下限功能(vcolumn)差異巨大(差異巨大!)。我想繪製一個單線圖,其中時間變量位於x軸上,多個其他功能位於y軸上。

我已經試過線圖的不同層在GGPLOT2:

ggplot(my_data, aes(time)) + geom_line(aes(y = rtt, color = "rtt")) 
          + geom_line(aes(y = drc, color = "drc")) 
          + geom_line(aes(y = rl, color = "rl")) 

我會用ylim = c(max of rtt, min of rtt)等,但我不知道如果我能加入這個每個geom_line()。 我想用不同的y軸縮放比例繪製每個特徵。這可能嗎?

請注意,在圖中,紅色和綠色線條不可見(這就是爲什麼我想在y軸上以不同比例縮放)。

+0

選項:(1)重新調整所有的數據是相同的規模,(2)使用小面將每個時間系列在它自己的面板上,可能使用'scales =「free_y」'。但是在同一個圖上放置多個具有完全不同y尺度的系列通常是一個非常糟糕的主意,因此ggplot默認會使其變得簡單。 – joran

回答

0

正如joran說,你可以規範自己的價值觀,在這裏有一個例子(未經測試)

m <- plyr::ddply(reshape2::melt(my_data, id = "time"), 
       "variable", mutate, value = value/max(value)) 

ggplot(m, aes(time, value, colour=variable)) + geom_line() 
+0

非常感謝您的幫助,但將多個功能縮放到相同的恐慌是重疊的,並且對我的數據集的視覺效果不好。我試圖在ggplot2中繪製[鏈接](https://4.bp.blogspot.com/-tj7H_ORDJ7o/TcgRncP-nMI/AAAAAAAAADM/5Jv3tGu2rts/s1600/fig.jpg)。 –