Đây là phiên bản theo dõi từ this question, in which I was trying to suppress the vertical gridlines.Làm cách nào để ngăn chặn các đường lưới dọc trong ô ggplot2 trong khi giữ lại các nhãn trục x?
Giải pháp, như được cung cấp bởi learnr, là thêm scale_x_continuous (break = NA), nhưng điều này cũng có tác dụng phụ cũng làm giảm nhãn x trục. Tôi hoàn toàn vui khi viết nhãn lại bằng tay, nhưng không rõ với tôi làm thế nào để tìm ra nhãn nên đi đâu.
Tùy chọn khác là để chặn tất cả các đường lưới (sử dụng opts (panel.grid.major = theme_blank()) hoặc một số như vậy) và sau đó vẽ lại chỉ trong các đường lưới ngang chính. Một lần nữa, vấn đề ở đây là làm thế nào để tìm ra những điểm ngắt trong cốt truyện để cung cấp cho geom_hline().
Vì vậy, về cơ bản, lựa chọn của tôi là:.
- Suppress đường lưới dọc và nhãn trục x (sử dụng scale_x_continuous (ngắt = NA)) và thêm các nhãn trục x trở lại trong
- Suppress tất cả gridlines (sử dụng opts (panel.grid.major = theme_blank())) và thêm các đường lưới ngang chính trở lại bằng cách sử dụng geom_hline().
Dưới đây là hai lựa chọn:
library(ggplot2)
data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4))
# suppressing vertical gridlines and x-axis labels
# need to re-draw x-axis labels
ggplot(data, aes(x, y)) +
geom_bar(stat = 'identity') +
scale_x_continuous(breaks = NA) +
opts(
panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'),
panel.grid.minor = theme_blank(),
panel.background = theme_blank(),
axis.ticks = theme_blank()
)
# suppressing all gridlines
# need to re-draw horizontal gridlines, probably with geom_hbar()
ggplot(data, aes(x, y)) +
geom_bar(stat = 'identity') +
scale_x_continuous(breaks = NA) +
opts(
panel.grid.major = theme_blank(),
panel.grid.minor = theme_blank(),
panel.background = theme_blank(),
axis.ticks = theme_blank()
)
Bạn có thể sử dụng geom_text() để thêm thủ công các nhãn đánh dấu trục x. – learnr