2013-01-06 15 views
5

मान लीजिए इस प्रकार मैं डेटा और साजिश है:पहलू एक यूनानी प्रतीक को शामिल लेबल

mydata = data.frame(x=rnorm(4), y=runif(4), tau=c(0,0,1,1)) 
ggplot(mydata) + geom_point(aes(x=x, y=y)) + facet_wrap(~ tau) 

मैं पहलू लेबल चाहते हैं "ताऊ = 0" और "ताऊ = 1", क्रमशः, ताऊ के साथ पढ़ने के लिए इसके ग्रीक प्रतीक के रूप में स्वरूपित। मुझे another question से पता है कि प्रयोगशाला label_parsed का उपयोग करके पत्र टाउ को स्वयं प्रारूपित किया जाएगा, लेकिन बराबर चिह्न चीजों को जटिल बनाने लगता है। एक आदर्श समाधान के लिए मुझे डेटा को बदलने की आवश्यकता नहीं होगी (यानी एक कारक बनाने और उसके स्तर का नाम दें), लेकिन मैं जो कुछ भी काम करता हूं :)

उत्तर

8

facet_grid एडीएन के साथ इसके समाधान से टॉ इंडेक्स के साथ एक समाधान।

mydata = data.frame(x=rnorm(4), y=runif(4), tau=c(0,0,1,1)) 
ggplot(mydata) + geom_point(aes(x=x, y=y)) + 
     facet_grid(~ tau,labeller = label_bquote(tau^.(x))) 

enter image description here

संपादित "ताऊ = 0" और "ताऊ = 1"

facet_grid(~ tau,labeller = label_bquote(tau == .(x))) 

EDIT2 दूसरा चर सिग्मा

मैं इस समाधान खोजने के प्राप्त करने के लिए , एक कस्टम प्रयोगशाला परिभाषित करके। उम्मीद है कि कोई (ggplot2 लोग) मुझे एक आसान समाधान दे।

enter image description here

my.label_bquote <- function (expr1 = (tau == .(x)),expr2 = (sigma == .(x))) 
{ 
    quoted1<- substitute(expr1) 
    quoted2 <- substitute(expr2) 
    function(variable, value) { 
     value <- as.character(value) 
     if(variable == 'tau') 
     lapply(value, function(x) 
       eval(substitute(bquote(expr1, list(x = x)),list(expr1 = quoted1)))) 
     else 
     lapply(value, function(x) 
       eval(substitute(bquote(expr2, list(x = x)),list(expr2 = quoted2)))) 
    } 
} 

mydata = data.frame(x=rnorm(4), y=runif(4), tau=c(0,0,1,1),sigma=c(2,2,3,3)) 
ggplot(mydata) + geom_point(aes(x=x, y=y)) + 
    facet_grid(sigma ~ tau,labeller = my.label_bquote()) 
+0

अच्छा! क्या इसे दो आयामों तक बढ़ाया जा सकता है? जैसे अगर मेरे पास दूसरा वैरिएबल सिग्मा है, तो मैं 'facet_grid' का उपयोग करके, फ़ेसेट करना चाहता हूं। – mitchus

+2

@ मिचस मैं दूसरे चर जोड़ने के लिए मेरा समाधान अद्यतन करता हूं .. – agstudy

+0

बहुत बहुत धन्यवाद, बहुत अच्छा काम करता है! – mitchus

संबंधित मुद्दे