2013-10-04 3 views
0

У меня есть два вектораColuring на диаграмме рассеяния в R

A=rnorm(500) 
B=rnorm(500) 

И хотел создать диаграмму рассеяния и использовали

Plot(A,B,cex=0.5,col="grey") ### this creates the base scatterplot 

Теперь у меня есть еще два условия, при которых у меня есть три вектора, который является подмножеством из оригинальных:

C<-subset[A,select=c(1:10,20:30,60:75,90,100) ### to be coloured in blue 
D<-subset[A,select=c(25:60)] ### to be coloured in blue 
E<-subset[B,select=c(100:150,120:125)] ### to be colured in red. 

Как я должен изменить, чтобы изменить диаграмму рассеяния цвета для этих векторов C, D, E только от оригинального серого цвета ?? Концепция похожа на это:

XY Scatterplot

+0

Можете ли вы уточнить, что вы имеете в виду, изменив цвет векторов, C, D, E? Если вы имеете в виду изменение цветов в диаграмме рассеяния, вам нужно ввести два вектора одинаковой длины. Кроме того, код, который вы предоставляете, недействителен R-кодом. – ialm

+0

@ialm: Да, решение правильное. Благодарю. Я хотел бы заменить серые точки на цветные на основе векторов подмножества, которые соответствуют каждому условию. – user1805343

+1

Рад, что это сработало. Кроме того, обратите внимание, что в индексах, определенных 'C' и' D', существует некоторое совпадение, поэтому дублированные индексы будут окрашены, по которым когда-либо звонит. – ialm

ответ

3

Это, как я интерпретировал свой вопрос:

«Заговор подмножество точек, обозначенных индексами C, D, E в вопросе с разными цветами» ,

A <- rnorm(500) 
B <- rnorm(500) 

## Set the indices, as written in question 
Ci <- c(1:10,20:30,60:75,90,100) ### to be coloured in blue 
Di <- c(25:60)     ### to be coloured in blue 
Ei <- c(100:150,120:125)   ### to be coloured in red. 

## Plot the original scatterplot, then plot over the points of interest with colour 
## Use the "points" function from base graphics to plot points on existing plot 
## Grab the relevant points from vectors A and B by accessing them at indices 
## Ci, Di, Ei using `[]` 
plot(A, B, cex=0.5, col="grey") 
points(A[Ci], B[Ci], cex=0.5, col="blue") 
points(A[Di], B[Di], cex=0.5, col="blue") 
points(A[Ei], B[Ei], cex=0.5, col="red") 
Смежные вопросы