簡體   English   中英

R ggplot:繪制3類變量

[英]R ggplot: Plot variables in 3 categories

我正在使用R中的CO2數據集,我想以x和y值繪制吸收量和濃度,分別按形狀和填充分類,分別指定為處理和植物。 另外,我想使用geom_polygon Type類別進一步對繪圖空間進行分類。

我可以分別執行填充和形狀以及geom_polygon,但是找不到在單個繪圖中將所有這些參數組合在一起的方法。 到目前為止,我唯一能夠做到這一點的方法就是使用批注(rect)創建一個表示Type的框。 這是我的代碼以重現這些圖。

library(ggplot2)
library(plyr)

data.set <- as.data.frame(CO2)

####1st plot
ggplot(data.set, aes(x=as.numeric(uptake), 
                 y=as.numeric(conc),
                 fill=Plant, 
                 shape=Treatment))+
geom_point(size=2, stroke=1)+
geom_point(aes(color=Plant),size=1)+
scale_shape_manual(values = c(21, 22))

在此處輸入圖片說明

find_hull <- function(df) df[chull(df$uptake, df$conc), ]
hulls <- ddply(data.set, "Type", find_hull)

####2nd plot
ggplot(data = data.set, aes(x=as.numeric(uptake), 
                                y=as.numeric(conc),
                                fill=Type,
                                colour=Type))+
geom_point() + 
geom_polygon(data = hulls, alpha = 0.5)

在此處輸入圖片說明

您只需要將形狀和顏色美感從ggplot移至特定的geom層即可:

ggplot(data.set, aes(x=as.numeric(uptake), y=as.numeric(conc))) +
  geom_polygon(data = hulls, alpha = 0.5, aes(fill = Type)) +
  geom_point(size = 2, stroke = 1, aes(shape = Treatment)) +
  geom_point(aes(color = Plant,shape = Treatment), size = 1) +
  scale_shape_manual(values = c(21, 22))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM