簡體   English   中英

在多面板圖中將頂部刻度添加到y軸(facet_wrap / ggplot2)

[英]Adding top tick to y-axis in multi-panel plots (facet_wrap/ggplot2)

我有一個使用facet_wrap函數創建的多面板圖,我想在每個y軸上添加一個頂部刻度(以便每個y軸以數字結尾)。

當我一次使用scale_y_continuous (基於最大值設置限制)創建一個繪圖時,可以手動執行此操作,但是我不確定如何使用facet_wrap來執行此操作。 使用max()設置限制似乎無效。

只是為了讓您了解我在說什么,下面是使用ggplot2創建單個圖並啟用y軸頂部刻度的代碼。

plot <- ggplot(diamonds, aes(clarity)) +
  geom_bar() +
  scale_y_continuous(expand = c(0, 0),limits=c(0,15000)) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5),
    axis.line = element_line(),
    axis.title = element_text(size=15,face="bold")) +
  xlab("x_1") +
  ylab("y_1") +
  theme(panel.background = element_blank()
    ,panel.grid.major = element_blank()
    ,panel.grid.minor = element_blank()
    ,panel.border = element_blank()) +
  labs(title = "xy", size = 20)
plot

這就是情節。

在此處輸入圖片說明

先感謝您! 編輯:我已編輯代碼以顯示圖。 再次感謝!

您可以為中斷定義自己的函數。 一個簡單的解決方案是

break_fct <-  function(x){
  round(seq(min(x), max(x), length = 5))
}

當然,您可以結合使用pretty和maximum進行一些改進。 您應該找到一種適合您的數據的解決方案。

plot <- ggplot(diamonds, aes(clarity)) +
  geom_bar() +
  scale_y_continuous(expand = c(0, 0), breaks = break_fct) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5),
        axis.line = element_line(),
        axis.title = element_text(size=15, face="bold")) +
  xlab("x_1") +
  ylab("y_1") +
  theme(panel.background = element_blank()
        ,panel.grid.major = element_blank()
        ,panel.grid.minor = element_blank()
        ,panel.border = element_blank()) +
  labs(title = "xy", size = 20) + 
  facet_grid(cut~., scales = "free_y")

plot

情節

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM