我已经使用ggdendro和ggplot生成了树状图。关于生成的情节,我有两个问题。

  • 是否有可能从生成的绘图中削减一些余量?
  • 如何沿一个轴更改标签的字体样式,例如大小?

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

    编码:
    > 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")
    

    最佳答案

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

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

    将使它们更大。为了减少边距,您可能需要使用expand参数:
    + scale_x_continuous(expand = c(0,0))
    

    其中的数字是图范围的加法和乘积扩展因子。

    更一般地,这些东西在herehere之类的位置都得到了很好的记录。或者,您也可以购买Hadley的书,这几乎可以回答您遇到的所有ggplot问题。 (严重地。)

    10-05 21:00
    查看更多