मैं कुछ गैर परंपरागत साजिश लेबलिंग करने की कोशिश कर रहा हूं और mtext
और axis
में उपयोगकर्ता निर्देशांक में line
पैरामीटर को परिवर्तित करने का एक तरीका चाहूंगा।उपयोगकर्ता निर्देशांक में मार्जिन लाइन स्थान (mgp) प्राप्त करें
दूसरे शब्दों में मैं मानकों को par()$mgp
में मानों को परिवर्तित करना चाहता हूं।
setup_plot <- function() {
par(mar = c(2, 10, 2, 2), oma = rep(2, 4))
plot.new()
plot.window(xlim = c(0, 1), ylim = c(0, 1))
box(which = "plot", lwd = 2, col = "gray40")
box(which = "figure", lwd = 2, col = "darkred")
box(which = "outer", lwd = 2, col = "darkgreen")
text(x = 0.5, y = 0.5,
labels = "Plot Region",
col = "gray40", font = 2)
mtext(side = 3, text = "Figure region", line = 0.5, col = "darkred", font = 2)
mtext(side = 3, text = "Device region", line = 2.5, col = "darkgreen", font = 2)
for (i in 0:9) {
mtext(side = 2, col = "darkred", text = paste0("Line", i), line = i)
}
}
मैं दो अलग-अलग दृष्टिकोण की कोशिश की है:
यह समस्या को दिखाता है।
## Try one approach where a line is the string height of "M"
setup_plot()
xline = strheight("M", units = "user")
abline(v = par()$usr[1] - 0:9*xline,
xpd = TRUE, lty = "dashed", col = "gray40")
## Try a second approach defining a line using par()$mai & par()$mar
setup_plot()
xline = abs(grconvertX(unique(par()$mai/par()$mar), "inches", "user"))
abline(v = par()$usr[1] - 0:9*xline,
xpd = TRUE, lty = "dashed", col = "gray40")
आप लाइन पदों कैसे मिलता है उपयोगकर्ता निर्देशांक में?
नोट: यहां के आंकड़े 6 इंच से 4 इंच हैं। आउटपुट आकार बदलने से लाइनों को कैसे खींचा जाता है - जो मुझे समझ में नहीं आता है।
यह वह उत्तर नहीं है जिसे आप ढूंढ रहे हैं, लेकिन यह कुछ ऐसा है जो आप अन्य सभी विफल होने पर उपयोग कर सकते हैं: 'mtext (side = 2, col = "gray40", text = paste (rep ("_", 45), पतन = ""), लाइन = सी (0: 9)) ' – Jota
यह एक चालाक हैक है, लेकिन मैं वास्तव में रेखाओं को चित्रित करने में रूचि नहीं रखता हूं। मैं सिर्फ यह दिखाने के लिए लाइनों का उपयोग कर रहा था कि मुझे नहीं पता कि सही स्थान कैसे प्राप्त करें। – dayne