美文网首页
【R画图学习9.3】加入截断的柱状图

【R画图学习9.3】加入截断的柱状图

作者: jjjscuedu | 来源:发表于2022-10-28 15:54 被阅读0次

    break就是截断的意思,一般主要是在画图的时候,Y轴上某些值过大,容易把其它规律给掩盖掉,所以这时候就需要一个截断操作。

    今天用下面一组简单的测试数据。

    library(ggplot2)

    library(ggbreak)

    data <- read.table("week.data.txt",header=T,sep="\t")

    head(data)

    data$day =factor(data$day)

    ggplot(data,aes(day,time,fill=week_n))+

    geom_bar(stat="identity",show.legend=F)+

    theme(axis.text.x=element_text(vjust=0.9,hjust=1,angle=45))

    然后,加入隔断,主要通过函数scale_y_break来实现。

    ggplot(data,aes(day,time,fill=week_n))+

    geom_bar(stat="identity",show.legend=F)+

    theme(axis.text.x=element_text(vjust=0.9,hjust=1,angle=45))+

    scale_y_break(breaks=c(100,170),ticklabels=seq(180,240,20),scales=0.4)

    其中breaks来定义截断的位置,ticklabels来定义截断后的Y轴坐标刻度,scales定义上下显示比例,大于1上面比例大,小于1下面比例大。0.4代表上面比例40%。

    ggplot(data,aes(day,time,fill=week_n))+

    geom_bar(stat="identity",show.legend=F)+

    theme(axis.text.x=element_text(vjust=0.9,hjust=1,angle=45))+

    scale_y_break(breaks=c(100,170),ticklabels=seq(180,240,20),scales=0.4)+

    facet_wrap(week_n~.,scales="free_x")+

    #theme_classic()+

    theme(text = element_text(size = 15))

    我们也可以利用facet_wrap来进行分面操作。

    ggplot(data,aes(day,time,fill=week_n))+

    geom_bar(stat="identity",show.legend=F)+

    theme(axis.text.x=element_text(vjust=0.9,hjust=1,angle=45))+

    scale_y_break(breaks=c(50,100),ticklabels=seq(100,120,5),scales=0.4)+

    scale_y_break(breaks=c(120,170),ticklabels=seq(180,240,10),scales=0.4)+

    facet_wrap(week_n~.,scales="free_x")+

    theme_classic()+

    theme(text = element_text(size = 15))

    也可以加入多个break,就是写多个scale_y_break函数。

    相关文章

      网友评论

          本文标题:【R画图学习9.3】加入截断的柱状图

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