2017-10-11 12 views
-1

私はRに戻っています。私は、私が望むデータをプロットするのに問題があります。x軸の日付を含むグループ化された棒グラフ

date   value1 value2 
10/25/2016 50  60 
12/16/2016 70  80 
01/05/2017 35  45 

そして私は、x軸上の対応する日付で、隣同士にvalue1とvalue2のをプロットしたいと思います:

それは、この形式であります。これまで私はこれを持っていて、最初に値1をプロットしようとしました。

df$date <- as.Date(df$date, "%m/%d/%Y") 
ggplot(data=df,aes(x=date,y=value1)) 

しかし、プロットには何も表示されません。 x軸とy軸の最大値は私のデータフレームの範囲に対応しているようですが、何も表示されません。

でも、plot(df$date,df$value1)と動作しますので、私が間違っていることはありません。

答えて

3

ggplot呼び出しだけでは実際にプロット上にレイヤーが作成されません。 geomを追加する必要があります。

あなたはおそらく geom_point()または geom_line()

ggplot(data=df,aes(x=date,y=value1)) + 
    geom_point() 

または

ggplot(data=df,aes(x=date,y=value1)) + 
    geom_line() 

をしたいか、点や線

ggplot(data=df,aes(x=date,y=value1)) + 
    geom_point() + 
    geom_line() 

をしたい場合は、両方の値が必要な場合は、両方行うことができます。このため

プロットでは、私はいくつかのデータ操作をやり直すことをお勧めしますt tidyrパッケージを使用してください。

df %>% 
    gather(key = "group", value = "value", value1:value2) %>% 
    ggplot(aes(date, value, color = group, group = group)) + 
    geom_line() 
+0

ありがとうございました。私は、値1と値2の両方を同時にプロットしたいのですか? –

+0

小さなデータ操作で簡単にプロットに追加する方法を追加しました。あなたがRに戻ってきて、それに精通していないなら、 '%>%'シンボルはパイプであり、 'tidyverse'では非常に一般的です。 'magrittr'パッケージまたは' dplyr'パッケージから直接ロードすることができます – tbradley

+0

ありがとう、それはトリックでした! –

関連する問題