Thay đổi kích thước của tiêu đề trục và nhãn trong ggplot2


145

Tôi có một câu hỏi thực sự đơn giản, mà tôi đang đấu tranh để tìm câu trả lời. Tôi hy vọng ai đó ở đây có thể giúp tôi.

Một ví dụ về khung dữ liệu được trình bày dưới đây:

a <- c(1:10)
b <- c(10:1)
df <- data.frame(a,b)
library(ggplot2)
g = ggplot(data=df) + geom_point(aes(x=a, y=b)) +
  xlab("x axis")
g

Tôi chỉ muốn tìm hiểu làm thế nào tôi thay đổi kích thước văn bản của tiêu đề trục và nhãn trục.

Câu trả lời:


313

Bạn có thể thay đổi văn bản trục và kích thước nhãn bằng đối số axis.text=axis.title=trong chức năng theme(). Nếu bạn cần, ví dụ, chỉ thay đổi kích thước tiêu đề trục x, sau đó sử dụng axis.title.x=.

g+theme(axis.text=element_text(size=12),
        axis.title=element_text(size=14,face="bold"))

Có các ví dụ tốt về cài đặt các theme()tham số khác nhau trong trang ggplot2 .


8
Hiện tại cũng có một chức năng rất trực quan rel(). ví dụsize = rel(2.0)
HongboZhu

2
Làm thế nào một người sẽ thay đổi labs(x = "x axis")kích thước văn bản mà không thay đổi giá trị của các dấu x trục?
baxx

53

Tôi nghĩ rằng một cách tốt hơn để làm điều này là thay đổi base_sizeđối số. Nó sẽ tăng kích thước văn bản một cách nhất quán.

g + theme_grey(base_size = 22)

Như đã thấy ở đây .


5
Nếu bạn đã có các themetrường hợp khác , điều này có thể gây ra xung đột.
Adam Erickson

10

Nếu bạn đang tạo nhiều biểu đồ, bạn có thể mệt mỏi khi nhập cho mỗi biểu đồ các dòng mã kiểm soát kích thước của tiêu đề và văn bản. Những gì tôi thường làm là tạo một đối tượng (của lớp "chủ đề" "gg") xác định các đặc điểm chủ đề mong muốn. Bạn có thể làm điều đó khi bắt đầu mã của bạn.

My_Theme = theme(
  axis.title.x = element_text(size = 16),
  axis.text.x = element_text(size = 14),
  axis.title.y = element_text(size = 16))

Tiếp theo, tất cả những gì bạn sẽ phải làm là thêm My_Theme vào biểu đồ của bạn.

g + My_Theme
nếu bạn có một biểu đồ khác, g1, chỉ cần viết:
g1 + My_Theme 
và như thế.

4

Để thay đổi kích thước của (gần như) tất cả các thành phần văn bản, ở một nơi và đồng bộ hóa, rel()khá hiệu quả:
g+theme(text = element_text(size=rel(3.5))

Bạn có thể muốn điều chỉnh số một chút, để có được kết quả tối ưu. Nó đặt cả nhãn và tiêu đề trục ngang và dọc và các thành phần văn bản khác trên cùng một tỷ lệ. Một ngoại lệ là các tiêu đề của lưới mặt phải được đặt thủ công thành cùng một giá trị, ví dụ: nếu cả hai mặt x và y được sử dụng trong biểu đồ:
theme(text = element_text(size=rel(3.5)), strip.text.x = element_text(size=rel(3.5)), strip.text.y = element_text(size=rel(3.5)))

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.