2013-01-18 11 views
7

以下の添付データを使用してboxplotを生成しています。 プロット ファイル:/// C:/ユーザー/ iouraich /書類に見えるプロットを再現ggplotを使用する場合、データファイルと同じ順序を保ちます。

# Distribution of EV for all regions under the BASE scenario 

evBASE.f <- subset(ccwelfrsts, tradlib =="BASE") 
p <- ggplot(data = evBASE.f, aes(factor(region), ev)) 
p + geom_boxplot() + 
    theme(axis.text.x = element_text(colour = 'black', angle = 90, size = 16)) + 
    theme(axis.text.y = element_text(colour = 'black', size = 16)) 

: データリンク https://www.dropbox.com/s/dt1nxnkhq90nea4/GTAP_Sims.csv

はこれまでのところ、私は私が使用しています。このコードを持っています/ggplot_Results.htm

私がここで探しているのは、プロットのx軸がcsvファイルのヘッダー "地域"の順序と一致するようにすることです。

これを制御できるオプションはggplot内にありますか?

どうもありがとう

+0

ここにいくつかの問題があります。まず、あなたが提供したリンクはネット上のものではなく、あなたのローカルシステム上のファイルにあるので、どのようなプロットを目指しているのか分かりません。第二に、データへのリンクを提供している(ありがとう)、データを読み取るコードを組み込んで、正確な手順を再現できるようにすることをお勧めします。第三に、はい、 'ggplot'はおそらくあなたが望むことをすることができます。 – SlowLearner

+0

@スローラーナー:アドバイスのためのthx。私は助けを求める次回は心に留めておきます:) – iouraich

答えて

8

は、基本的にはちょうど彼らがデータに表示される順序でレベルを指定するregion <- factor(region,levels=unique(region))を必要としています。

あなたが提供されたデータに基づいて、完全なソリューション:

ccwelfrsts <- read.csv("GTAP_Sims.csv") 
## unmangle data 
ccwelfrsts[5:8] <- sapply(ccwelfrsts[5:8],as.numeric) 
evBASE.f <- droplevels(subset(ccwelfrsts, tradlib =="BASE")) 
## reorder region levels 
evBASE.f <- transform(evBASE.f,region=factor(region,levels=unique(region))) 
library(ggplot2) 
theme_set(theme_bw()) 
p <- ggplot(data = evBASE.f, aes(region, ev)) 
p + geom_boxplot() + 
    theme(axis.text.x = element_text(colour = 'black', angle = 90, size = 16)) + 
    theme(axis.text.y = element_text(colour = 'black', size = 16))+ 
    xlab("") 

あなたが読みラベルを容易にするために(coord_flipを介して、または明示的にxとy軸のマッピングを切り替えることによって)、グラフの向きを切り替える検討するかもしれませんy軸上の数値応答のレイアウトは、ほとんどの視聴者にとってよりよく知られています。

+0

Thx a lot。これにより、aes()内の順序を手動で指定するたびに簡単になります。 – iouraich

関連する問題