2016-04-22 38 views
0

有沒有一種方法可以在R中創建散點圖並按類別給點着色?例如,我有一個包含x和y點列表的數據集(列'Xpoints'和'Ypoints'具有從0到100的比例),但每個組合點都屬於五個類別之一(在第三個列「類別」)。 我想繪製所有的組合點,並按照各自的類別爲每個點着色。 我猜想,五個類別將不得不在另一列中分配數字1到5。但是,如何繪製這個代碼呢?按r類型劃分的着色散點圖

回答

2

使用ggplot2軟件包,該軟件包廣泛用於這些應用程序。

# toy data 
my_data <- data.frame(x = sample(1:100, replace = T, 100), 
         y = sample(1:100, replace = T, 100), 
         cat = sample(c('first', 'second', 'third'), replace = T, 100) 
        ) 

# required packages 
require(ggplot2) 

# make the graph 
ggplot(data = my_data, aes(x = x, y = y, color = cat)) + 
     geom_point() 

ggsave(height = 4, width = 4, filename = 'SO36801313.png') 

上面的代碼提供了以下圖表。 enter image description here

0

對於圖形包Lattice來說,這是一項非常簡單的任務。它專爲多變量分析而設計,可以非常輕鬆地處理。我加載數據集iris以提供一個示例。

library(lattice) 
data("iris") 
names(iris) 

Lattice允許立即multifacet圖,示出了根據第三個兩個變量之間的關係。在這種情況下,我們檢查了花的萼片長度和萼片寬度之間的關係,但是對於數據集中的每個species。它用公式x ~ y | z表示。

xyplot(Sepal.Length ~ Sepal.Width | Species, data = iris) 

enter image description here

對於你的情況,我們將繪製在一個單一的標準樣地所有觀測。在這種情況下,參數groups將根據您選擇的標準自動爲每個觀察着色,在這種情況下,將再次爲species着色。

enter image description here