2013-06-08 22 views
7

Tôi muốn sử dụng các ký tự Hy Lạp, ký tự Latinh và ký hiệu phần trăm trong nhãn các mặt của biểu đồ thanh ggplot2. ký tự Hy Lạp có thể được thực hiện với 'facet_grid (~ biến, -máy dán nhãn = label_parsed.)':Sử dụng âm mưu trong ggplot2 với ký hiệu phần trăm (%)

a<-c("Delta~V","VarcoV","Delta~V","VarcoV") 
    b<-c(1,2,3,4) 
    d<-c("one","one","two","two") 
    mydata<-data.frame(cbind(b,a,d)) 
    ggplot(mydata,aes(x=d,y=b))+facet_grid(.~a, labeller=label_parsed)+geom_bar(stat="identity") 

Bây giờ tôi cũng muốn thêm một nhãn khía cạnh bao gồm% và một nhân vật Latin:

a<-c("Delta~V","VarcoV","%V","Delta~V","VarcoV","%V") 
    b<-c(1,2,3,4,5,6) 
    d<-c("one","one","one","two","two","two") 
    mydata<-data.frame(cbind(b,a,d)) 
    ggplot(mydata,aes(x=d,y=b))+facet_grid(.~a, labeller= label_parsed)+geom_bar(stat="identity") 

Điều này tạo ra lỗi sau:

Error in parse(text = x) : <text>:1:1: unexpected input 
    1: %V 
    ^

Bất kỳ ý tưởng nào bao gồm ký hiệu phần trăm?

Trả lời

10

Ký tự Latinh không cần xử lý đặc biệt và bạn có thể thấy điều này trong phần tử đầu tiên là a. Hãy thử điều này:

a<-c("Delta~V","VarcoV","'%'*V","Delta~V","VarcoV","'%'*V") 

Dấu "%" là đặc biệt, do đó bạn cần báo giá. Bạn có thể vừa mới thực hiện '% V' nhưng tôi đã ném dấu "*" (dấu sao) để hiển thị cách tách các mã thông báo plotmath không có khoảng trống được hiển thị. (Bạn đã biết cách tách các thẻ bằng dấu phân tách khoảng cách, "~".)

Bài học chính là trộn loại trích dẫn. Loại báo giá đầu tiên sẽ báo hiệu loại được sử dụng để chấm dứt chuỗi ký tự/chuỗi ký tự. Bạn cũng có thể sử dụng ký tự thoát: "\". Điều này cũng thành công:

a<-c("Delta~V","VarcoV","\"%\"*V","Delta~V","VarcoV","\"%\"*V") 
+0

Dấu ngoặc kép sẽ hoạt động nếu bạn sử dụng dấu nháy đơn xung quanh giá trị ký tự hoặc bạn có thể thoát khỏi dấu ngoặc kép với "\" –

Các vấn đề liên quan