2012-05-16 4 views
2

У меня есть матрица из 12 столбцов, и я использую функцию boxplot в R, чтобы построить прямоугольник. используютсяColored Boxplot

следующие команды:

pdf("data.pdf") 
data<-read.table("data1", header=T) 
boxplot(data, outline=F) 
dev.off() 

То, что я хочу, чтобы представить первые три присущи рефлективный, вербальный красного, зеленого и синего цветов. в то время как следующие три в желтом, следующие три в оранжевом и следующие три в фиолетовом.

Как это сделать?

Спасибо

ответ

2

Чтобы получить цвета, нужно просто передать вектор цветов функции boxplot:

##Create some dummy data 
runif(10*12), ncol=12) 
##Create a vector of 12 colours 
cols = rep(c("yellow", "orange", "purple"), each=3) 
cols = col=c("red", "green","blue",cols) 

##Plot as normal 
boxplot(dd, col=cols) 

BTW, не загружать данные на каждой итерации ваш цикл for. Загрузите его один раз:

data <- read.table("data1", header=T) 
pdf("data.pdf") 
boxplot(data, outline=F) 
dev.off() 
+0

Спасибо за ответ, еще одна вещь, как я могу повернуть свою ось x на 45 градусов? – Angelo

+0

См. [Документация] (http://cran.r-project.org/doc/FAQ/R-FAQ.html#How-can-I-create-rotated-axis-labels_003f) – csgillespie

+0

boxplot (data1, outline = F, angle = 45) не работает – Angelo