Điều này có thể kết thúc là câu hỏi expression
hoặc call
, nhưng tôi đang cố định định dạng theo điều kiện các nhãn trục riêng lẻ.Định dạng động các nhãn trục riêng lẻ trong ggplot2
Trong ví dụ sau, tôi muốn chọn lọc đậm một trong những nhãn trục:
library(ggplot2)
data <- data.frame(labs = c("Oranges", "Apples", "Cucumbers"), counts = c(5, 10, 12))
ggplot(data = data) +
geom_bar(aes(x = labs, y = counts), stat="identity")`
Có vấn đề tương tự here, nhưng các giải pháp liên quan đến theme
và element_text
. Tôi đang cố gắng sử dụng nhãn trục trực tiếp.
tôi có thể làm điều này bằng tay như sau:
breaks <- levels(data$labs)
labels <- breaks
labels[2] <- expression(bold("Cucumbers"))
ggplot(data = data) +
geom_bar(aes(x = labs, y = counts), stat="identity") +
scale_x_discrete(label = labels, breaks = breaks)
Nhưng, nếu tôi cố gắng để làm điều đó bằng cách đánh chỉ số thay vì gõ ra "Dưa chuột", tôi nhận được lỗi sau:
breaks <- levels(data$labs)
labels <- breaks
labels[2] <- expression(bold(labels[2]))
ggplot(data = data) +
geom_bar(aes(x = labs, y = counts), stat="identity") +
scale_x_discrete(label = labels, breaks = breaks)
Mà làm cho s ense, bởi vì nó không đánh giá labels[2]
. Nhưng, có ai biết làm thế nào để ép buộc nó để làm điều đó? Cảm ơn.
Có! 'bquote' và'.() 'là những gì tôi cần. Cảm ơn. Có một sự ghi nhớ cho tên hàm đó không? Báo giá ngược? – Sealander
Từ trang trợ giúp, đó là "một tương tự của macro LISP backquote" vì vậy nó khá gần. – MrFlick
@MrFlick Tôi làm cách nào để thực hiện việc này cho nhiều mục? Ví dụ cho vị trí 2 và 3? Và tôi cũng có thể làm điều này bằng cách chỉ định tên các yếu tố, ví dụ: "Dưa chuột" và "Cam"? Cảm ơn! – Stefan