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)