Home Articles

删除边距并更改ggplot中标签的字体样式

Asked
Viewed 1002 times
6

我使用ggdendro和ggplot生成了一个树形图 . 关于生成的情节,我有两个问题 .

  • 可以从生成的图中削减一些余量吗?

  • 如何沿一个轴更改标签的字体样式,例如尺寸?

在图中,标有“红色窗格”的两个区域是我想要删除的边距 . 沿x轴的六个标签用黄色标记 . 我想增加它们的大小 .

enter image description here

代码:

> x<-read.csv("test1.csv",header=TRUE)
> d<-as.dist(x,diag=FALSE,upper=FALSE)
> hc<-hclust(d,"ave")
> dhc<-as.dendrogram(hc)
> ddata<-dendro_data(dhc,type="rectangle")
> ddata$labels$text <- gsub("\\."," ",ddata$labels$text)
> fig1<-ggplot(segment(ddata))+geom_segment(aes(x=x0,y=y0,xend=x1,yend=y1))
> fig1<-fig1+xlab(NULL)+ylab(NULL)+opts(panel.grid.minor=theme_blank())
> fig1<-fig1+scale_x_discrete(limits=ddata$labels$text)
> fig1<-fig1+coord_flip()
> last_plot()
> fig1<-last_plot()
> ggsave("test1.pdf")

1 Answer

  • 7

    要增加轴标签的大小(以及更多,更多),请使用 theme (在旧版本的ggplot2中,这称为 opts() ):

    + theme(axis.text.x = element_text(size = 12))
    

    会让他们变得更大要减少边距,您可能需要使用 expand 参数:

    + scale_x_continuous(expand = c(0,0))
    

    其中数字是绘图限制的加法和乘法扩展因子 .

    更一般地说,这些事情都在herehere这些地方得到了很好的记录 . 或者你可以买Hadley 's book, which will answer nearly every ggplot question you' ll了 . (认真) .

Related