R语言一个变量映射到形状,另一个映射到填充

临风暖阳 发表于 2022/11/06 14:19:47 2022/11/06
【摘要】 笔者R语言一个变量映射到形状,另一个映射到填充,并根据不同的颜色变量绘制图形。

library(gcookbook) # For the data set


# Make a copy of the data

hw <- heightweight

# Categorize into <100 and >=100 groups

hw$weightGroup <- cut(hw$weightLb, breaks=c(-Inf, 100, Inf),
                      
                      labels=c("< 100", ">= 100"))

# Use shapes with fill and color, and use colors that are empty (NA) and 
# filled

ggplot(hw, aes(x=ageYear, y=heightIn, shape=sex, fill=weightGroup)) +
  
  geom_point(size=2.5) +
  
  scale_shape_manual(values=c(21, 24)) +
  
  scale_fill_manual(values=c("cyan", "black"),
                    
                    guide=guide_legend(override.aes=list(shape=21)))



ggplot(hw, aes(x=ageYear, y=heightIn, shape=sex, fill=weightGroup)) +
  
  geom_point(size=2.5) +
  
  scale_shape_manual(values=c(21, 24)) +
  
  scale_fill_manual(values=c("blueviolet", "cornflowerblue"),
                    
                    guide=guide_legend(override.aes=list(shape=21)))


ggplot(hw, aes(x=ageYear, y=heightIn, shape=sex, fill=weightGroup)) +
  
  geom_point(size=2.5) +
  
  scale_shape_manual(values=c(21, 24)) +
  
  scale_fill_manual(values=c("chocolate", "blueviolet"),
                    
                    guide=guide_legend(override.aes=list(shape=21)))


hw$weightGroup <- cut(hw$weightLb, breaks=c(-Inf, 100, Inf),
                      
                      labels=c("< 100", ">= 100"))


ggplot(hw, aes(x=ageYear, y=heightIn, shape=sex, fill=weightGroup)) +
  
  geom_point(size=2.5) +
  
  scale_shape_manual(values=c(21, 24)) +
  
  scale_fill_manual(values=c("aquamarine", "bisque"),
                    
                    guide=guide_legend(override.aes=list(shape=21)))


ggplot(hw, aes(x=ageYear, y=heightIn, shape=sex, fill=weightGroup)) +
  
  geom_point(size=2.5) +
  
  scale_shape_manual(values=c(21, 24)) +
  
  scale_fill_manual(values=c("blueviolet", "cadetblue"),
                    
                    guide=guide_legend(override.aes=list(shape=21)))


hw$weightGroup <- cut(hw$weightLb, breaks=c(-Inf, 100, Inf),
                      
                      labels=c("< 100", ">= 100"))


ggplot(hw, aes(x=ageYear, y=heightIn, shape=sex, fill=weightGroup)) +
  
  geom_point(size=2.5) +
  
  scale_shape_manual(values=c(21, 24)) +
  
  scale_fill_manual(values=c("beige", "chartreuse"),
                    
                    guide=guide_legend(override.aes=list(shape=21)))


古董白和珊瑚色


ggplot(hw, aes(x=ageYear, y=heightIn, shape=sex, fill=weightGroup)) +
  
  geom_point(size=2.5) +
  
  scale_shape_manual(values=c(21, 24)) +
  
  scale_fill_manual(values=c("antiquewhite", "coral"),
                    
                    guide=guide_legend(override.aes=list(shape=21)))


hw$weightGroup <- cut(hw$weightLb, breaks=c(-Inf, 100, Inf),
                      
                      labels=c("< 100", ">= 100"))


ggplot(hw, aes(x=ageYear, y=heightIn, shape=sex, fill=weightGroup)) +
  
  geom_point(size=2.5) +
  
  scale_shape_manual(values=c(21, 24)) +
  
  scale_fill_manual(values=c("azure", "darkcyan"),
                    
                    guide=guide_legend(override.aes=list(shape=21)))

hw$weightGroup <- cut(hw$weightLb, breaks=c(-Inf, 100, Inf),
                      
                      labels=c("< 100", ">= 100"))


ggplot(hw, aes(x=ageYear, y=heightIn, shape=sex, fill=weightGroup)) +
  
  geom_point(size=2.5) +
  
  scale_shape_manual(values=c(21, 24)) +
  
  scale_fill_manual(values=c("green", "darksalmon"),
                    
                    guide=guide_legend(override.aes=list(shape=21)))


ggplot(hw, aes(x=ageYear, y=heightIn, shape=sex, fill=weightGroup)) +
  
  geom_point(size=2.5) +
  
  scale_shape_manual(values=c(21, 24)) +
  
  scale_fill_manual(values=c("darkorange", "darkorchid"),
                    
                    guide=guide_legend(override.aes=list(shape=21)))

参考文献:Practical Receipes for Visualizing Data----R Graphics Cookbook ---Winston Chang O'REILLY

                 百度文库---颜色大全:含中英文对照及色值

开发环境:RStudio和微信截屏工具

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。