2016-09-13 56 views
2

是否可以在ggplot的每個面板中指定不同的標籤軸?如何在ggplot中使用facet_grid時爲每個不同的面板指定不同的標籤

例如:

ggplot(diamonds, aes(x = carat, y = price)) + geom_point() + facet_grid(~cut)

在這個圖中,我們有五個小組,我想指定我自己的標籤爲他們每個人。默認輸出是爲所有軸生成一個標籤。

是,它也將在這裏完成,不涉及使用grid.arrange一個解決方案:

Modify x-axis labels in each facet

+1

可能直接編輯grobs ... – Gregor

+1

如在鏈接問題中,在x軸上有一個分類變量,您可以使標籤成爲一個新變量,將其映射到x軸,並使用'scales =「free」'。 – aosmith

回答

0

(我假設你指的是軸標題,不標籤

不符合原則,沒有。背後的哲學是他們分享共同的審美映射。但是我們可以欺騙ggplot得到我們想要的東西,例如:

ggplot(diamonds, aes(x = carat, y = price)) + 
    geom_point() + 
    facet_grid(~cut, switch = 'x') + 
    theme(axis.title.x = element_blank(), 
     strip.background = element_blank()) 

訣竅是switch的小條的情節的底部。然後,我們關閉帶背景和原始x軸標題,以創建獨立軸標題的外觀。

enter image description here

(你也可能要改變strip.text.x = element_text(size = ??)相同大小爲y軸的稱號。然而,這似乎不被記錄的defualt尺寸是幹什麼用的軸標題。)

+0

不錯的解決方案。我實際上正在尋找改變標籤。這些方面共享審美映射,但映射的_解釋跨面板變化,我想用標籤中的變化來指示這一點。 – skleene

+0

示例中的標籤是1到5.目前還不清楚你想要什麼。 – Axeman

相關問題