R绘图 棒棒糖图和哑铃图
棒棒糖图( lollipop chart):棒棒糖图传达了与柱形图或者条形图相同的信息,只是将矩形转变成线条,这样可减少展示空间,重点放在数据点上,从而看起来更加简洁、美观。相对柱形图与条形图,棒棒糖图更加适合数据量比较多的情况
哑铃图( dumbbell plot):可以看成多数据系列的点图,只是使用直线连接了两个数据系列的数据点。哑铃图主要用于:
①展示在同一时间段两个数据点的相对位置(增加或者减少);
②比较两个类别之间的数据值差别。
下面是用ggplot2作图
棒棒糖图
library(ggplot2)library(reshape2)mydata<-read.csv("DotPlots_Data.csv",sep=",",na.strings="NA",stringsAsFactors=FALSE)mydata$sum<-rowSums(mydata[,2:3])
R中的ggplot2包提供了散点绘制函数geom_point()及连接线函数geom_segment()。其中geom_segment()函数根据起点坐标( x,y) 和终点坐标( xend,yend) 绘制两者之间的连接线,棒棒糖图的连接线为平行于 X 轴水平绘制,其长度( length)对应 X 轴变量的数值。
以sum值为横坐标作图,首先按照sum值从小到大设置顺序
mydata$City<- factor(mydata$City, levels = mydata$City[order(mydata$sum)])作图
ggplot(mydata, aes(sum, City)) + geom_segment(aes(x=0, xend=sum, y=City, yend=City))+ geom_point(shape=21,size=3,colour="black",fill="#FC4E07")+ theme( axis.title=element_text(size=13,face="plain",color="black"), axis.text = element_text(size=10,face="plain",color="black"), legend.title=element_text(size=14,face="plain",color="black") )
也可以把连线去掉
ggplot(mydata, aes(sum, City)) + #geom_segment(aes(x=0, #xend=sum, #y=City, #yend=City))+ geom_point(shape=21,size=3,colour="black",fill="#FC4E07")+ theme( axis.title=element_text(size=13,face="plain",color="black"), axis.text = element_text(size=10,face="plain",color="black"), legend.title=element_text(size=14,face="plain",color="black") )
哑铃图
还是用这个数据,横坐标同时展示Female和male的值
按照Female数值排序
mydata<-read.csv("DotPlots_Data.csv",sep=",",na.strings="NA",stringsAsFactors=FALSE)mydata$City <- factor(mydata$City, levels = mydata$City[order(mydata$Female)])数据转换(宽转长),将Female和male调整在同一列
mydata<-melt(mydata,id.vars='City')
画图
ggplot(mydata, aes(value,City,fill=variable)) + geom_line(aes(group = City)) +#划线 geom_point(shape=21,size=3,colour="black")+ #设置点 scale_fill_manual(values=c("#00AFBB", "#FC4E07","#36BED9"))+ #设置填充色 theme( axis.title=element_text(size=13,face="plain",color="black"), axis.text = element_text(size=10,face="plain",color="black"), legend.title=element_text(size=12,face="plain",color="black"), legend.background = element_blank(), legend.position = c(0.85,0.12) )
TCGA泛癌分析
TCGA单基因免疫相关泛癌分析(应要求,对出图添加更细致的描述)
资源贴
赞 (0)
