[英]How to set the default geom_text color in R ggplot2?
我正在繪制許多圖,並希望為數據標簽設置默認顏色,而不必將color
參數傳遞給每個geom_text
調用。 我可以為繪圖標題和坐標軸執行此操作,但不能為數據標簽執行此操作。
# Example of how to set default color for other text elements
library(ggplot2)
theme_set(theme_bw() + theme(text = element_text(color = "red"),
axis.text = element_text(color = "red")))
ggplot(mtcars, aes(x = cyl, label = ..count..)) +
geom_bar() +
geom_text(stat = "count") +
labs(title = "title")
不幸的是,我相信主題元素僅適用於繪圖中與數據無關的元素,這意味着主題不覆蓋geom_text
的文本。 默認顏色"black"
在geom_text
的源中進行了硬編碼,據我所知,沒有簡單的方法可以覆蓋它。 (不過,如果有人在乎糾正我,那就太好了!)
但是,一種可能有助於簡化操作的簡單解決方案是創建一個包裝函數,該函數將返回geom_text
以及您將一遍又一遍傳遞的所有默認值。 例如:
geom_text_wrap <- function(col="red", ...) {
geom_text(col=col, ...)
}
可以直接代替geom_text
使用,並且默認情況下會創建紅色文本。 因此,以下內容將創建紅色文本,而無需您在繪圖創建中直接指定它。
ggplot(mtcars, aes(x = cyl, label = ..count..)) +
geom_bar() +
geom_text_wrap(stat="count") +
labs(title = "title")
注意:如果確實要創建大量類似的圖,以至於您很想指定重復的參數,則可以考慮編寫一個函數,該函數將以編程方式創建完整的圖形對象。 那將取決於您的特定用例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.