में तीर सिर मिलान आकार (या lwd) बनाना ggplot में तीरों को आकर्षित करने के लिए, मैं geom_segment और तीर = तीर() का उपयोग करता हूं। मुझे तीर का आकार आकार सेगमेंट चौड़ाई (या आकार) से मेल खाना चाहिए। हालांकि, तीर ggplot में डेटा तर्क से सीधे चर को पहचान नहीं करता है और किसी को $ ऑपरेटर का उपयोग करके चर युक्त डेटा.फ्रेम निर्दिष्ट करना होगा। इससे लाइन की साजिश के लिए उपयोग किए जाने वाले मूल्यों और तीर सिर की साजिश के लिए उपयोग किए जाने वाले मूल्यों के बीच एक विसंगति होती है (सबसे बड़ा तीर सिर सबसे पतला सेगमेंट पर हो सकता है)।ggplot2
उदाहरण:
d <- structure(list(Process = structure(c(2L, 1L, 1L, 1L, 2L, 2L,
1L, 1L, 2L, 1L, 2L), .Label = c("First", "Second"), class = "factor"),
x.sink = c(1, 3, 1, 2, 2, 3, 3, 2, 2, 2, 2), y.sink = c(1,
1, 1, 2, 2, 1, 1, 1, 1, 2, 2), x.source = c(2, 2, 2, 2, 2,
2, 2, 1, 1, 1, 3), y.source = c(2, 2, 2, 1, 1, 1, 1, 1, 1,
2, 1), offset = c(1, 1, 1, -1, -1, -1, -1, -1, -1, 1, -1),
Std.Flux = c(0.179487179487179, 0.170940170940171, 0.944444444444444,
0.0854700854700855, 0.726495726495726, 0.128205128205128,
0.213675213675214, 0.213675213675214, 0.128205128205128,
0.106837606837607, 1)), .Names = c("Process", "x.sink", "y.sink",
"x.source", "y.source", "offset", "Std.Flux"), class = "data.frame", row.names = c(NA,
-11L))
p <- qplot(data=d,
#alpha=I(0.4),
colour=Process,
size=Std.Flux,
xlim=c(0,4),
ylim=c(0,3),
x=x.source+as.numeric(Process)/10,
y=y.source+as.numeric(Process)/10,
xend=x.sink+as.numeric(Process)/10,
yend=y.sink+as.numeric(Process)/10,
geom="segment",
arrow = arrow(type="closed",
length = unit(d$Std.Flux,"cm")))
print(p)
कोई सुझाव?
मुझे लगता है यह एक निरीक्षण है; github – baptiste