2016-06-24 44 views
-1

次の例のデータがあり、yearを超えるarea列の変更を示す水平線プロットを作成したいとします。 ggplot2を使用してこれを行うための提案はありますか?水平線プロットを作成する

year <- 1990:2005 
area1 <- runif(16, 18,20) 
area2 <- runif (16,6,6.7) 
area3 <- runif(16, 7,8) 
dat <- data.frame(year, area1, area2, area3) 

答えて

4

あなたはggTimeSeriesパッケージからggplot_horizonを使用して水平線のプロットを作成することができます。あなたのデータサンプルは、良い水平線プロットのためのビットスパースですので、私はいくつかの偽のデータを作成しました。以下の例は、ggTimeSeries vignetteの例に基づいています。

# Fake data 
set.seed(1) 
df = data.frame(x = rep(1:1000,3), y = cumsum(rnorm(3000)) + 50, 
       group=rep(LETTERS[1:3], each=1000)) 

#devtools::install_github("Ather-Energy/ggTimeSeries") 
#install.packages("viridis") 
library(ggTimeSeries) 
library(viridis) 

ggplot_horizon(df, 'x', 'y', vcGroupingColumnNames='group', bandwidth=10) + 
    facet_grid(group ~ .) + 
    scale_fill_viridis(option="inferno") 

enter image description here

+0

ありがとうございます。これらは3つの水平プロットがあり、配色が値を表すようにお互いに分離している必要があります。 –

+0

「カラースキームが値を表しています」と言えば、リボンの高さに基づいてリボン内で色が水平方向に変わるようにしたいのですか? – eipi10

+0

はい、私はこのようなものが欲しい:[リンク](http://www.r-bloggers.com/horizo​​n-plots-with-ggplot-not/) –

2

ないあなたが探しているが、この構造で始まり、そこから行くているものを実際に確認してください。

dat <- reshape2::melt(dat, id.var = "year") 
library(ggplot2) 
ggplot(dat, aes(x = year, y = value, colour = variable)) + geom_point() 
+0

ありがとう、私の上のコメントを見てください。 –

関連する問題