这篇文章主要介绍“R语言可视化ggplot图表系统中的形状类别是什么”,在日常操作中,相信很多人在R语言可视化ggplot图表系统中的形状类别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”R语言可视化ggplot图表系统中的形状类别是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
今天跟大家分享ggplot图表系统中形状。
在ggplot函数系统中,形状是一类重要的映射属性,如同颜色一样,它可以被赋予给变量,当然也可以直接指定实际的形状类别。
library(ggplot2)
library(reshape2)
data<-data.frame(Name = c("苹果","谷歌","脸书","亚马逊","腾讯"),Company = c("Apple","Google","Facebook","Amozon","Tencent"),Sale2013 = c(5000,3500,2300,2100,3100),Sale2014 = c(5050,3800,2900,2500,3300),Sale2015 = c(5050,4000,3200,2800,3700),Sale2016 = c(6000,4800,4500,3500,4300))
mydata<-melt(data,id.vars=c("Name","Company"),variable.name="Year",value.name="Sale")
ggplot(newdata,aes(Company,Sale,group=Year,colour=Year))+geom_line()+geom_point()
以上函数通过一个简单的折线图+散点图的形式展现了默认状态下输出的散点形状。
ggplot函数的图层理念中,修改局部图层的元素,需要在局部图层内进行设定,这里需要在geom_point()函数内部进行形状设定。
R绘图系统中存储着的形状符号多达25种:
我们尝试着选择几种形状进行展示:
ggplot(mydata,aes(Company,Sale,group=Year,colour=Year))+geom_line()+geom_point(shape=0,size=3)
ggplot(mydata,aes(Company,Sale,group=Year,colour=Year))+geom_line()+geom_point(shape=10,size=3)
ggplot(mydata,aes(Company,Sale,group=Year,colour=Year))+geom_line()+geom_point(shape=8,size=3)
ggplot(mydata,aes(Company,Sale,group=Year,colour=Year))+geom_line()+geom_point(shape=24,size=3)
ggplot(mydata,aes(Company,Sale,group=Year,colour=Year))+geom_line()+geom_point(shape=23,size=3)
你也可以通过将形状映射指定给一个分类变量,这样不同的形状将会作为分类标识:
ggplot(mydata,aes(Company,Sale,group=Year,colour=Year))+geom_line()+geom_point(aes(shape=Year),size=3)
默认情况下,散点图只有colour属性,没有fill属性,但是当散点图被赋予形状映射之后,他就会扩展fill属性。
ggplot(mydata,aes(Company,Sale,group=Year))+geom_line()+geom_point(shape=22,size=3,colour="black",fill="red")
至于形状的大小,你可以根据自己的需要和喜好自由调整,就像调整线条的size一样。
ggplot(mydata,aes(Company,Sale,group=Year))+geom_line()+geom_point(shape=22,size=5,colour="black",fill="red")
因为形状属于分类性质的映射属性,所以形状不可以被指定给连续性变量:
ggplot(mydata,aes(Company,Sale,group=Year))+geom_line()+geom_point(aes(shape=Sale),size=5,colour="black",fill="red")
软件提示:
Error: A continuous variable can not be mapped to shape
但是形状的大小是可以被映射给连续性变量的:
ggplot(mydata,aes(Company,Sale,group=Year))+geom_line()+geom_point(aes(size=Year),shape=22,colour="black",fill="red")
当将形状大小(size)指定给离散变量时,虽然可以出来图表,但是软件提示不建议将形状大小映射给离散变量。
ggplot(mydata,aes(Company,Sale,group=Year))+geom_line()+geom_point(aes(size=Year,colour="grey"),shape=22,fill="red")
Warning message:
Using size for a discrete variable is not advised.
基于以上叙述,这里我想总结两点:
一、关于属性映射的问题(形状、大小、颜色、线条)
形状属性只能通过连续型变量进行映射;
大小属性同时可以指定给连续性变量、离散型变量(软件并不建议)。
颜色变量是所有属性中为数不多的既可以使用离散型变量、又可以使用连续性变量进行映射的属性
二、关于制定属性映射时shape、size、colour(fill)的位置问题。
如果属性是指定给数据集中的变量(无论是连续性还是离散型)的话,那么一定要包含在美学属性之内(aes()):因为只有包含在aes()中,软件才能通过在数据集中调用对应变量进行映射。
当要将属性映射指定给具体的属性类别时(比如具体的颜色名称、色值以及形状大小、代号和类别),那么要将其放在对应图层(geom_xxx())内,美学属性【aes()】系统外。
作用于单个图层的映射属性要放在对应图层中,(比如作用于线条的属性要放在geom_line()内,作用于形状的属性要放在geom_point()内),作用于全局的属性要放在全局系统函数层内【ggplot()】。(比如本例中同时作用于折线图和散点图的数据集、x轴y轴变量以及分组变量等)
到此,关于“R语言可视化ggplot图表系统中的形状类别是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。