2017-11-11 18 views
1

私は、10月から4月までの月のみを一覧表示するデータフレームを持っています。このデータを折れ線グラフにプロットすると、使用されていない月も含まれます。私はプロットに未使用のスペースがないように、データにリストされている月を表示したいだけです。ggplotの未使用月の削除

私はプロットのために使用していたコード

gplot(df,aes(GAME_DATE,DEF_RATING)) + 
    geom_line(aes(y=rollmean(df$DEF_RATING,9, na.pad = TRUE))) + 
    geom_line(aes(y=rollmean(df$OFF_RATING,9,na.pad = TRUE)),color='steelblue') 

enter image description here

サンプル・データ

GAME_DATE OFF_RATING DEF_RATING 
     <dttm>  <dbl>  <dbl> 
1 2017-04-12  106.1  113.1 
2 2017-04-10  107.1  100.8 
3 2017-04-08  104.4  105.1 
4 2017-04-06  116.1  105.9 
5 2017-04-04  116.9  116.0 
+0

あなたはいくつかの例のデータを提供することができますしてください?助けのためhttps://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-exampleをチェック – Phil

+0

それはaes' '内のデータフレーム名を修正再表示する必要があり、望ましくないのです。 'geom_line(AES(Y = rollmean(DEF_RATING、9、na.pad = TRUE)))':ちょうど裸の変数名を使用します。 – eipi10

+0

@Philは、例えば、データ – jhaywoo8

答えて

0
あなたの存在のために ")(scale_x_date" とx軸を区切るに試すことができます

このような日付:

gplot(df,aes(GAME_DATE,DEF_RATING)) + 
geom_line(aes(y=rollmean(df$DEF_RATING,9, na.pad = TRUE))) + 
geom_line(aes(y=rollmean(df$OFF_RATING,9,na.pad = TRUE)),color='steelblue') +  
scale_x_date(date_labels="%b",breaks=seq(min(df$GAME_DATE),max(df$GAME_DATE), "1 month")) 
1

ggplot2は、軸が誤っている可能性があるため、破損した軸を許可しません。ただし、これを続行したい場合は、ファセッティングで壊れた軸をシミュレートすることができます。これを行うには、データが存在する各「島」を一意のグループコードでマークし、次にそれらのグループコードでファセットするためのグループ化変数を作成します。あなたはgeom_lineへの単一の呼び出しを持つ2本の別々の色のラインを得ることができるように

はまた、データは、プロットする前に長い形式に変換する必要があります。 aesの中で色を付けるために列をマッピングすると、自動的に凡例が生成されます。ここで

は、偽のデータとの例を示します

library(tidyverse) 

# Fake data 
set.seed(2) 
dat = data.frame(x=1950:2000, 
       y1=c(cumsum(rnorm(30)), rep(NA,10), cumsum(rnorm(11))), 
       y2=c(cumsum(rnorm(30)), rep(NA,10), cumsum(rnorm(11)))) 

dat %>% 
    # Convert to long format 
    gather(key, value, y1:y2) %>% 
    # Add the grouping variable 
    group_by(key) %>% 
    mutate(group=c(0, cumsum(diff(as.integer(is.na(value)))!=0))) %>% 
    # Remove missing values 
    filter(!is.na(value)) %>% 
    ggplot(aes(x, value, colour=key)) + 
    geom_line() + 
    scale_x_continuous(breaks=seq(1950,2000,10), expand=c(0,0.1)) + 
    facet_grid(. ~ group, scales="free_x", space="free_x") + 
    theme(strip.background=element_blank(), 
      strip.text=element_blank()) 

enter image description here

+0

あなたは私のサンプルデータを持つことをどのように行うのでしょうを追加しましたか? – jhaywoo8

関連する問題