2016-02-11 48 views
0

我已經能夠創建一個圖表,其中包含單個列中的數據點,並顯示沿着X軸顯示的Y軸和日期。使用ggplot2庫創建一個包含多個來自熊貓數據框的列的圖形

是否可以使用GGplot來顯示例如來自熊貓數據框的沿Y軸的多列數據?

ggplot_obj = ggplot(df.reset_index(), aes('date','close')) + geom_line() + ggtitle(graph_title) 

例如,因爲我正在繪製股票數據圖表,我希望能夠顯示高位和低位以及打開日期。我可能會做這樣的事情:

ggplot_obj = ggplot(df.reset_index(), aes('date',['close','High','Low'])) + geom_line() + ggtitle(graph_title) 

在我被遍歷stock_codes濾波數據幀的列表,併發送數據幀是要ggplot創建情節創建這些圖的瞬間。

有沒有更有效的方法來做到這一點?

回答

0

最簡單的方法是將所有值映射到一列中的y。您可以使用tidyr

library("ggplot2") 
library("tidyr") 

mtcars$low <- mtcars$disp * 0.75 
mtcars$high <- mtcars$disp * 1.25 

mtcars_tidy <- gather(data = mtcars, key = "cat", value = "value", disp, low, high) 

ggplot(mtcars_tidy, aes(x = mpg, y = value, color = cat)) + 
    geom_line() 
相關問題