2017-09-14 26 views
0

現在、私はこのようになります。このプロットがあります。ggplot X軸トラブル

enter image description here

私は、x軸上の奇妙なライン/バーがありますどのように好きではありませんが。私はggplotがx軸に540000の観測値すべてを収めることができないため、これが原因である可能性があると考えています。ここで私はこれをグラフ化するために使用されるコードは次のとおりです。

data %>% 
    ggplot() + 
    geom_point(aes(x = dates_df$date, y = Quantity)) + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1)) + 
    labs(x = "Invoice Date", y = "Quantity", title = "Quantity vs Invoice Date") 

私はを取り除くために行うことができます/ x軸上でこの混乱を解決しますか?

+0

が今 'date'要因です助けを願って?もしそうなら、それを 'Date'に変更し、' scale_x_date'で軸を設定することを検討してください。因子を使用しても、x軸に表示されるブレークの数を変更することができます。 – aosmith

+1

私の推測では、2つの別々のデータフレーム( 'data'と' dates_df')を使用しているということです。 'dplyr'の' left_join'と組み合わせてみませんか?それはかなりの問題を解決するはずです。そうでなければ 'scale_x_ *'を使うことができます。この場合は 'scale_x_date()'となります。 –

+0

@aosmith 'date'は文字です。どのように 'Date'に変更するのですか? –

答えて

0

コメントによると、Date列には混乱があり、2つの別々のデータフレームを使用しているようです。最初にデータを結合します。私はそれらの両方の列にいくつかのIDまたは他のキーのような名前があると仮定します:

library("dplyr") 
left_join(data,dates_df,by="id") 

日付も同じです。それをDateに変更するには、まだこれを行っていない場合は、as.Date関数を使用します。

data$date<- as.Date(data$date, "%m/%d/%Y") 

に参加した後、あなたがここに他の日付形式を見つけることができます。http://www.statmethods.net/input/dates.html

あなたはx軸上の540 000の観測があると述べました。私の提案は、一年ごとにチャートを分けることです。これを行うには、ggplotの中でfacet_grid関数を使用します。

library(lubridate)  
ggplot(df, aes(x= df$date,y= df$Quantity))+ 
    geom_point() + 
    facet_grid(~year(df$date)) 

は、それが:)