10. ggplot2坐标轴刻度位置(breaks)和标签(la

2022-09-30  本文已影响0人  心惊梦醒

  axis tick marks和legend tick marks是scale breaks的特殊案例,通过scale函数的breaks参数设置。

主要刻度

  每个break对应一条major gridline,两个主要网格线之间有一条minor gridline,对应minor breaks。breaks参数用来设置主要刻度标签的位置,minor_breaks参数用来设置次要刻度标签的位置。

注意:以上这些函数,设置的n与最终得到的breaks的数目不一定完全一致。

次要刻度

  次要刻度标签的位置对log scales很有用,因为它提示scale是非线性的。同breaks一样,minor_breaks可以设置为:

刻度标签

  每个break与一个label关联,可以通过labels参数修改labels,所以breakslabels参数对应的向量长度应保持一致。
  scales包也提供了一系列函数来格式化labels。包括:scales::label_bytes()scales::label_comma()scales::label_dollar()scales::label_ordinal()scales::label_percent()scales::label_pvalue()。从这些函数的名字就可以看出其基本功能,使用的时候直接查看函数帮助即可,非常方便。

三者之间的关系

  minor_breakslabels都依赖breaks,三者设置为NULL时的区别是:breaks=NULL会删除主要刻度、次要刻度以及labels,其他两者则只会删除对应属性。

df <- data.frame(a=1:5,b=c(1,10,100,1000,10000))
p<-ggplot(df,aes(a,b)) + geom_point()
p1<- p + labs(title="scale_y_continuous()")
p2 <- p + scale_y_continuous(breaks=NULL) + labs(title="scale_y_continuous(breaks=NULL)")
p3 <- p + scale_y_continuous(minor_breaks=NULL) + labs(title="scale_y_continuous(minor_breaks=NULL)")
p4 <- p + scale_y_continuous(labels=NULL) + labs(title="scale_y_continuous(labels=NULL)")
上一篇下一篇

猜你喜欢

热点阅读