यहाँ एक समाधान है जो आपके डेटा को संपादित करने से बचता है:
मान लें कि आपका प्लॉट group
आपके डेटाफ़्रेम के भाग से मुखरित है, जिसमें स्तर हैं control, test1, test2
, फिर उन मानों द्वारा नामित सूची बनाएँ:
hospital_names <- list(
'Hospital#1'="Some Hospital",
'Hospital#2'="Another Hospital",
'Hospital#3'="Hospital Number 3",
'Hospital#4'="The Other Hospital"
)
फिर एक 'लेबेलर' फ़ंक्शन बनाएं, और इसे अपने facet_grid कॉल में धकेलें:
hospital_labeller <- function(variable,value){
return(hospital_names[value])
}
ggplot(survey,aes(x=age)) + stat_bin(aes(n=nrow(h3),y=..count../n), binwidth=10)
+ facet_grid(hospital ~ ., labeller=hospital_labeller)
...
यह अस्पताल के नामों को सूचीबद्ध करने के लिए डेटा फ्रेम के स्तरों का उपयोग करता है। सूची के मान (सही नाम) को वापस करता है।
कृपया ध्यान दें कि यह केवल तभी काम करता है जब आपके पास केवल एक ही परिवर्तनशील चर हो। यदि आपके पास दो पहलू हैं, तो आपके लेबेलर फ़ंक्शन को प्रत्येक पहलू के लिए एक अलग नाम वेक्टर वापस करना होगा। आप इसे कुछ इस तरह से कर सकते हैं:
plot_labeller <- function(variable,value){
if (variable=='facet1') {
return(facet1_names[value])
} else {
return(facet2_names[value])
}
}
कहाँ facet1_names
और facet2_names
पूर्व-निर्धारित नामों की सूचियाँ हैं, जिन्हें अनुक्रमणिका के अनुक्रमित नामों ('Hostpital # 1', इत्यादि) द्वारा अनुक्रमित किया गया है।
संपादित करें: उपरोक्त विधि विफल हो जाती है यदि आप एक वैरिएबल / मान संयोजन को पास करते हैं जो लेबेलर को नहीं पता है। आप इस तरह अज्ञात चर के लिए एक असफल-सुरक्षित जोड़ सकते हैं:
plot_labeller <- function(variable,value){
if (variable=='facet1') {
return(facet1_names[value])
} else if (variable=='facet2') {
return(facet2_names[value])
} else {
return(as.character(value))
}
}
उत्तर कैसे पट्टी से बदलने के लिए अनुकूलित। पहलू लेबल ggplot में पहलू और मार्जिन = TRUE के साथ
संपादित करें: चेतावनी : यदि आप इस पद्धति का उपयोग चरित्र स्तंभ द्वारा करने के लिए कर रहे हैं , तो आपको गलत लेबल मिल सकते हैं। इस बग रिपोर्ट देखें । ggplot2 के हाल के संस्करणों में तय किया गया।
ggplot(transform(iris, Species = c("S", "Ve", "Vi")[as.numeric(Species)]), aes(Petal.Length)) + stat_bin() + facet_grid(Species ~ .)