Tôi đã gặp phải một trở ngại khi viết một hàm ggplot. Tôi đang cố gắng để thay đổi nhãn khía cạnh trong một âm mưu ggplot facet_wrap .... nhưng minh của nó phức tạp hơn so với tôi mặc dù nó sẽ là ....ggplot đổi tên nhãn mặt trong facet_wrap
Các dữ liệu tôi đang sử dụng có thể được truy cập tại đây
str(ggdata)
'data.frame': 72 obs. of 8 variables:
$ Season : Factor w/ 3 levels "Autumn","Spring",..: 2 2 2 2 2 2 2 2 2 2 ...
$ Site : Factor w/ 27 levels "Afon Cadnant",..: 13 13 13 13 13 13 13 13 13 13 ...
$ Isotope: Factor w/ 4 levels "14CAA","14CGlu",..: 1 1 1 1 1 1 2 2 2 2 ...
$ Time : int 0 2 5 24 48 72 0 2 5 24 ...
$ n : int 3 3 3 3 3 3 3 3 3 3 ...
$ mean : num 100 88.4 80.7 40.5 27.6 ...
$ sd : num 0 1.74 2.85 2.58 2.55 ...
$ se : num 0 1 1.65 1.49 1.47 ...
tôi đã viết các chức năng sau đây để tạo ra các ggplot trong đó sử dụng các mức yếu tố đồng vị dán nhãn các khía cạnh:
plot_func <- function(T) {site_plots <- ggplot(data = T) + geom_point(aes(Time, mean, colour = Season, shape = Season)) +
geom_line(aes(Time, mean, colour = Season, linetype = Season)) +
geom_errorbar(aes(Time, mean, ymax = (mean + se), ymin = (mean - se)), width = 2) +
labs(title = T$Site[1], y = "Percentage of isotope remaining in solution", x = "Time (h)") +
scale_x_continuous(breaks=c(0, 24, 48, 72)) +
scale_y_continuous(limits=c(0,115), breaks = c(0,25,50,75,100)) +
theme(axis.title.y = element_text(vjust = 5)) +
theme(axis.title.x = element_text(vjust = -5)) + theme(plot.title = element_text(vjust = -10)) +
theme_bw() + facet_wrap(~Isotope, ncol =2)
print(site_plots)
ggsave(plot = site_plots, filename = paste(T$Site[1], ".pdf"),
path = "C:/Users/afs61d/Dropbox/Academic/R/Practice datasets/Helens_data/Site_Isotope_Season_plots/",
width = 9, height = 7, dpi = 300)}
Kết quả trong đồ thị đáng yêu này:
Đó là tốt đẹp nhưng tôi muốn thay đổi nhãn khía cạnh bây giờ ... Sau khi thực hiện một số poking xung quanh google tôi nghĩ rằng tôi có thể có thể sử dụng labeller
chức năng như một cuộc tranh cãi để vượt qua để facet_wrap
. Sau một giờ bực bội, tôi phát hiện ra rằng điều này chỉ hoạt động với facet_grid
!!! ??? Vì vậy, một phương pháp khác là để thay đổi tên mức Yếu tố để cho tôi các nhãn khía cạnh mà tôi muốn ::
gdata$Isotope <- revalue(x = ggdata$Isotope,
c("14CAA" = " 14C Amino Acids", "14CGlu" = "14C Glucose",
"14cGlu6P" = "14C Glucose-6-phosphate", "33P" = "33P Phosphate"))
này hoạt động, nhưng vấn đề tôi có bây giờ là tôi muốn các con số trong các nhãn để được siêu kịch bản. Bất cứ ai có thể đề xuất cách tốt nhất để đạt được điều này? Cảm ơn
Tôi nghĩ rằng "-máy dán nhãn" có sẵn cho facet_wrap trong phiên bản phát triển của ggplot: http://docs.ggplot2.org/dev/facet_wrap.html –
@BenBolker Thanks ... đó sẽ là rất hữu ích - làm thế nào tôi có thể cài đặt nó? –
@ eipi10 Tôi không nghĩ 'labeller' có thể được chuyển tới' facet_wrap' ... đó là mấu chốt của vấn đề –