2
我試圖對齊或合併地圖和盒圖,兩者都以緯度爲y軸。我已經找到了許多方法來對齊地塊,但是好像有一個地圖涉及複雜的事情。我想讓這兩個地塊無縫對齊,左邊的地圖和右邊的箱子地圖。如何對齊地圖圖和共享y軸的盒圖
下面是兩個地塊示例代碼:
library(ggplot2)
library(maps)
library(gridExtra)
##Plot base map
s_map <- map_data('state',region=c('south carolina','georgia','florida'))
p <- ggplot() + coord_fixed()
base_world <- p+geom_polygon(data=s_map, aes(x=long, y=lat, group=group), color="white", fill="grey72")
yscale <- c(24:34)
map1 <- base_world +
coord_map(xlim = c(-83, -79.5),ylim = c(25, 34)) +
xlab("") +
ylab("Latitude") +
scale_y_discrete(labels=yscale)
##plot boxplot (seasonal movements of an animal)
df <- data.frame("month"=month.abb,
"min"=c(26,26,26,28,28,29,29,29,28,28,26,26),
"lci"=c(27,27,27,29,29,30,30,30,29,29,27,27),
"med"=c(28,28,28,29,29,31,31,31,29,29,28,28),
"uci"=c(29,29,29,30,30,32,32,32,30,30,29,29),
"max"=c(30,30,30,31,31,33,33,33,31,31,30,30),
"order"=c(1:12))
boxplot1 <- ggplot(df, aes(x=factor(order), ymin = min, lower = lci, middle = med, upper = uci, ymax = max)) +
geom_boxplot(stat = "identity") +
ggtitle("Latitude by Month") +
xlab("Month") +
ylab("Latitude") +
ylim(24,33)
grid.arrange(map1,boxplot1,ncol=2)
如何強制y軸和情節的高度是一樣的,與網格對齊?
提前感謝您對此的想法 - 我仍然很新與R.
編輯: 我可能已經嘗試過的代碼,我發現了十幾個片段,並沒有什麼似乎有效可言,所以我不認爲列出它們會有所幫助。我主要是找一個真正的地方開始。
這裏有一個例子,我發現強迫情節的高度是一樣的,但它似乎並沒有做任何事情:
# build the plots
map2 <- ggplot_gtable(ggplot_build(map1))
boxplot2 <- ggplot_gtable(ggplot_build(boxplot1))
# copy the plot height from p1 to p2
boxplot2$heights <- map2
grid.arrange(map2,boxplot2,ncol=2,widths=c(1,5))
,如果你在一個時間,因爲你可以接受最多一個答案問一個問題本網站效果最好。同時也很高興展示任何嘗試完成任務並準確描述卡住的位置。堆棧溢出不是代碼寫入服務。 – MrFlick