假设我有一个像这样的ggplot2树状图:
require(ggplot2)
require(ggdendro)
hc <- hclust(dist(USArrests), "ave")
dhc <- as.dendrogram(hc)
ddata <- dendro_data(dhc, type="rectangle")
ggplot(segment(ddata),labels=rownames(USArrests))+
geom_segment(aes(x=x, y=y, xend=xend, yend=yend))+
theme_dendro()
如何以90度顺时针旋转?我在coord_flip()中找到了一些主题,但我只想旋转而不是翻转。我试过了geom_segment(aes(x=y, y=x, xend=yend, yend=xend))
,但它不起作用。这是我想要的情节:
答案 0 :(得分:4)
对y值使用x
和xend
,对y值使用y
和yend
。使用scale_y_reverse()
,您将获得逆序订单群。
ggplot(segment(ddata),labels=rownames(USArrests))+
geom_segment(aes(y=x, x=y, yend=xend, xend=yend))+
theme_dendro()+scale_y_reverse()
使用原始代码可以实现相同目的,但添加coord_flip()
可旋转90度,然后添加scale_x_reverse()
以获得相反的顺序。
ggplot(segment(ddata),labels=rownames(USArrests))+
geom_segment(aes(x=x, y=y, xend=xend, yend=yend))+
theme_dendro()+coord_flip()+scale_x_reverse()