美文网首页
一个表格下的多种图

一个表格下的多种图

作者: 欧阳松 | 来源:发表于2020-03-29 11:34 被阅读0次

下面这个简单的表,如何表达呢?研究了一下柱状图气泡图环图

皮肤病变年龄分层
skin<-read.csv("2019.csv")
#如果表头乱码了,可以自定义表头
names(skin)=c("类型","1-10岁","11-20岁","21-30岁","31-40岁","41-50岁","51-60岁",
"61-70岁","71-80岁")
首先要把宽数据转换为长数据,保留类型,按年龄分类
###数据转换
library(tidyr)
library(reshape2)
mydata<-melt(skin,                       #待转换的数据集名称
       id.vars=c("类型"),  #要保留的主字段
       variable.name="年龄",         #转换后的分类字段名称(维度)
       value.name="人数"  )           #转换后的度量值名称  
长数据
绘制点图
library(ggplot2)
ggplot(mydata,aes(年龄,类型,color=年龄)) #按年龄划颜色,也可以按类型
+geom_point(aes(size=人数))  #按人数定义点的大小
+scale_size(breaks = c(1,50,100,300,600,900),range = c(4,16)) #自定义数据切割和把点搞大
+theme_bw()
+labs(x="",y="",title = "2019年色素痣样病变分类") #改标题

点2.jpg

绘制柱状图
 ggplot(mydata, aes(类型,人数,fill=年龄))
+geom_bar(stat="identity")
+coord_flip()
+theme_bw()
+labs(x="",title = "2019年色素痣样病变分类")
按年龄填充
 ggplot(mydata, aes(类型,人数,fill=类型))
+geom_bar(stat="identity")
+coord_flip()
+theme_bw()
+labs(x="",title = "2019年色素痣样病变分类")
按类型填充
 ggplot(mydata, aes(类型,人数,fill=年龄))
+geom_bar(stat="identity")
+coord_flip()
+facet_grid(~年龄) ##按年龄分面
+theme_bw()
+labs(x="",title = "2019年色素痣样病变分类")
按年龄分面
ggplot(mydata, aes(类型,人数,fill=年龄))+geom_bar(stat="identity")+coord_flip()+facet_wrap(~年龄,ncol = 4)+theme_bw()+labs(x="",title = "2019年色素痣样病变分类")
image.png
 ggplot(mydata, aes(类型,人数,fill=类型))+geom_bar(stat="identity")+coord_flip()+facet_wrap(~年龄,ncol = 4)+theme_bw()+labs(x="",title = "2019年色素痣样病变分类")
image.png
绘制柱状图
 ggplot(mydata, aes(x="",人数, fill=类型))+ geom_bar(width = 0.5, stat = "identity", position = "fill")+ coord_polar("y") + labs(x = '', y = '', title = '2019年色素痣样病变分类') + theme(axis.text = element_blank()) + theme(axis.ticks = element_blank())+  facet_wrap(~年龄,ncol=4)
image.png

相关文章

网友评论

      本文标题:一个表格下的多种图

      本文链接:https://www.haomeiwen.com/subject/czuyuhtx.html