2017-10-06 13 views
0

私はRプログラミングの初心者で、ggplotを探究しています。私は積み上げ棒グラフをプロットして、複数の国の3年間の四半期売上を表示しようとしています。 私は私が望むものを私にenter image description here を与えているggplot上https://www.ibm.com/communities/analytics/watson-analytics-blog/sales-products-sample-data/x軸スタックバーチャート上の複数の列

mydata <- read.csv("~/Downloads/WA_Sales_Products_2012-14.csv") 
library(dplyr) 
qtrSales <- mydata %>% 
group_by(mydata$Retailer.country, mydata$Year, mydata$Quarter) %>% 
summarize(Rev=sum(Revenue)) %>% 

qtrSales <- data.frame(qtrSales) 
colnames(qtrSales) <- c("Country", "Year", "Qtr", "Revenue") 

library(ggplot2) 
ggplot() + geom_bar(aes(y=qtrSales$Revenue, x = qtrSales$Year, 
fill=qtrSales$Qtr), data=qtrSales, stat="identity") 

からのデータを使用していますが、それぞれの国のために一緒にグループ化された各年の3つのバーを持つことです。誰もそれを達成する方法をアドバイスできますか?

+0

あなたも四半期でグループする必要がありますか?積み重ねられたgeom_barはひどく見えますが、私は何か他のものを使うことを提案しています – PoGibas

+1

あなたはfacet_wrapに年を追加すると、四半期の成長を見ることができます。グループ化された棒があればそれほど読みにくくはありませんが、あなたが主張するのであれば、位置= "ドッジ"を見てください – User632716

+0

戻っていただきありがとうございます。私の知識の欠如を許し、他に何をお勧めしますか?私は、あなたが21ヵ国すべてで乱雑に見えるのは間違いないと思います。私がシナリオを変更した場合、5か10の国を制限するために、私の元の要件に基づいてそれを行うことができますか? –

答えて

1

x軸にYearの代わりにQuarterを置きます。そうしないと、ファセットを使用する必要があります。

colnames(mydata)[1] <- "Country" 
library(ggplot2) 
ggplot(mydata, aes(Quarter, Revenue, fill = Country)) + 
    geom_bar(stat = "identity", position = "dodge") + 
    scale_x_discrete(limits = unique(mydata$Quarter)) + 
    theme(legend.position = "bottom") + 
    guides(fill = guide_legend(nrow = 2)) 

enter image description here

+0

@ssjsk表示/調整したいことがありますか? – PoGibas

+1

素晴らしい、ありがとう、この1つをありがとう、私はより多くを学ぶためにファセットを使用してより多くを探検します:-)あなたの迅速な応答に感謝します。 –

+0

@ssjsk :-)ヘルプ – PoGibas

関連する問題