एक अन्य समाधान, ondes के अलावा पहले ही उल्लेख किया (का उपयोग कर layout
या par(xpd=TRUE)
) है पूरे डिवाइस पर एक पारदर्शी साजिश के साथ अपने भूखंड ओवरले करने के लिए और फिर उस के लिए कथा जोड़ें।
चाल पूरी साजिश रचने वाले क्षेत्र पर (खाली) ग्राफ को ओवरले करने के लिए और उस के लिए किंवदंती को जोड़ना है। हम par(fig=...)
विकल्प का उपयोग कर सकते हैं । पहले हम आर को निर्देश देते हैं कि पूरे प्लॉटिंग डिवाइस पर एक नया प्लॉट बनाएं:
par(fig=c(0, 1, 0, 1), oma=c(0, 0, 0, 0), mar=c(0, 0, 0, 0), new=TRUE)
सेटिंग oma
और mar
जरूरत है क्योंकि हम चाहते हैं कि प्लॉट का इंटीरियर पूरे डिवाइस को कवर करे। new=TRUE
आर को एक नया उपकरण शुरू करने से रोकने के लिए आवश्यक है। हम फिर खाली प्लॉट जोड़ सकते हैं:
plot(0, 0, type='n', bty='n', xaxt='n', yaxt='n')
और हम किंवदंती जोड़ने के लिए तैयार हैं:
legend("bottomright", ...)
डिवाइस के नीचे दाईं ओर एक किंवदंती जोड़ देगा। इसी तरह, हम लीजेंड को टॉप या राइट मार्जिन से जोड़ सकते हैं। केवल यह सुनिश्चित करने की आवश्यकता है कि मूल प्लाट का मार्जिन किंवदंती को समायोजित करने के लिए पर्याप्त है।
एक समारोह में यह सब डाल;
add_legend <- function(...) {
opar <- par(fig=c(0, 1, 0, 1), oma=c(0, 0, 0, 0),
mar=c(0, 0, 0, 0), new=TRUE)
on.exit(par(opar))
plot(0, 0, type='n', bty='n', xaxt='n', yaxt='n')
legend(...)
}
और एक उदाहरण है। सबसे पहले यह सुनिश्चित करें कि किंवदंती को जोड़ने के लिए हमारे पास पर्याप्त स्थान है जो नीचे की तरफ है:
par(mar = c(5, 4, 1.4, 0.2))
plot(rnorm(50), rnorm(50), col=c("steelblue", "indianred"), pch=20)
फिर किंवदंती जोड़ें
add_legend("topright", legend=c("Foo", "Bar"), pch=20,
col=c("steelblue", "indianred"),
horiz=TRUE, bty='n', cex=0.8)
जिसके परिणामस्वरूप: