आप VertexRenderingFunction
का उपयोग करके ऐसा कुछ कर सकते हैं।
GraphPlot[{{A -> C, "go"}, {C -> B, "gone"}, {C -> D, "went"}, {C -> C, "loop"}},
DirectedEdges -> True,
VertexRenderingFunction -> ({{White, Disk[#, 0.15]},
AbsoluteThickness[2], Circle[#, 0.15],
If[MatchQ[#2, A | B], Circle[#, 0.12], {}], Text[#2, #]} &)]
विधि फरवरी 2015
अपडेट किया गया सहभागी आरेखण उपकरण के साथ ग्राफ (डबल क्लिक करें) पुनर्व्यवस्थित करने के लिए एक के अंदर शीर्ष ग्राफिक्स रखना चाहिए क्षमता बनाए रखने के लिए GraphicsComplex
, निर्देशांक के बजाय इंडेक्स के साथ। मेरा मानना है कि कोई वृद्धिशील चर का उपयोग करके VertexRenderingFunction
से ऐसा कर सकता है लेकिन पोस्ट-प्रोसेसिंग के साथ ऐसा करने के लिए संभवतः अधिक मजबूत लगता है। इस संस्करण 7 और के 10 में काम करता है मेथेमेटिका, शायद 8 और 9 के साथ-साथ:
GraphPlot[
{{A -> C, "go"}, {C -> B, "gone"}, {C -> D, "went"}, {C -> C, "loop"}},
DirectedEdges -> True
] /.
Tooltip[Point[n_Integer], label_] :>
{{White, Disk[n, 0.15]},
Black, AbsoluteThickness[2], Circle[n, 0.15],
If[MatchQ[label, A | B], Circle[n, 0.12], {}], Text[label, n]}
वहाँ कोई कारण नहीं है आप ग्राफिक्स पुरातन उपयोग नहीं कर सकते कुछ इस तरह आकर्षित करने के लिए। क्या आप एक स्वचालित लेआउट समाधान का अनुरोध कर रहे हैं? –
@ श्री विज़ार्ड हां, मैं जटिल राज्य आरेखों को चित्रित करने के लिए कुछ उच्च स्तरीय प्राइमेटिव ढूंढ रहा हूं। मुझे नहीं पता कि मैथमैटिका क्या प्रदान करता है या नहीं। मैंने प्रलेखन के माध्यम से खोज की और "ग्राफ़प्लॉट" फ़ंक्शन के विकल्पों की जांच की और उपरोक्त कोड के साथ समाप्त हो गया। – Ning
आपने मेरा जवाब क्यों स्वीकार किया? यह आकार अभी भी गलत है। मैं इसकी सराहना करता हूं, लेकिन मुझे लगता है कि आपको बेहतर उत्तर की प्रतीक्षा करनी चाहिए। –