R语言Rose
2019-10-25 本文已影响0人
MJades
重点就是把柱状图画好,然后极坐标系展示就可以了~
简单的画图,数据类型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可以调整每个柱子之间的间距,从而导致极坐标系下图形距离变大;


2. 极坐标的改变
coord_polar() #()可以是"","x","y"
若是"x",则是rose;
若是"y",则是图2;
coord_flip() # x,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()

