重点就是把柱状图画好,然后极坐标系展示就可以了~
简单的画图,数据类型data.frame,Gene一列为character,RatioIC为numeric;
p = ggplot(dt, aes(x = reorder(Gene,RatioIC), y = RatioIC, fill = Gene)) +
# reorder 让Gene的显示排序按照RatioIC值排序来
geom_bar(stat = "identity", alpha = 0.7) + #width=0.9
coord_polar()
1. 调节间距
geom_bar(stat = "identity", alpha = 0.7,width=0.9)
width可以调整每个柱子之间的间距,从而导致极坐标系下图形距离变大;
Fig 1a. width=0.8 Fig 1b. width=12. 极坐标的改变
coord_polar() #()可以是"","x","y"
若是"x",则是rose;
若是"y",则是图2;
coord_flip() # x,y轴倒转;
Fig 2.coord_polar("y")3. 具有中间圈图的类型
不知道别人怎么画出来的,我直接在原数据基础上加了相同的行,并多加一列Group,之前的是Group="x",复制的数据Group=“y”
p = ggplot(dt, aes(x = reorder(Gene,RatioIC), y = RatioIC, fill = Group)) +
geom_bar(stat = "identity", alpha = 0.7,width=0.9) +
geom_col(aes(fill = Group))+ #表示每个柱子要根据Group进行填充,上面颜色填充也是Group;
coord_polar()
Fig 3a. 画出来的柱状图如图所示 Fig 3b.极坐标系下的图形
网友评论