删除边距并更改ggplot中标签的字体样式
我使用ggdendro和ggplot生成了树状图。我有两个问题关于生成的情节。删除边距并更改ggplot中标签的字体样式
- 是否可以从生成的图中削减一些边距?
- 如何在一个坐标轴上更改标签的字体样式,例如大小?
在图中,标有“红色窗格”的两个区域是我想要删除的边距。沿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))
,其中数字是加法和乘法扩张因素的情节限制。
更一般地说,这些东西在here或here这样的位置都有很好的记录。或者你可以购买哈德利的书,它将回答几乎所有你会遇到的ggplot问题。 (认真。)
谢谢。我尝试了+ scale_x_continuous(expand = c(0,0)),但它会沿着y轴去除这些字符串标签,并且不会沿着y轴去除边距。 –
@ bit-question做同样的事情,但用'scale_y_continuous'去除y margin。 – joran
+1用于发布代码和图形。 – Andrie
如果您也可以发布'test1.csv',那么我们可以尝试回答您的下一个问题,关于标题大小... –