Używam GraphPlot
do rysowania ukierunkowanych wykresów z około 100 wierzchołkami. Zamieniam każdy wierzchołek na mały prostokątny lub kwadratowy obraz, definiując VertexRenderingFunction. Obrazy często nakładają się na siebie. Czy istnieje sposób na uzyskanie Mathematica, aby oddalić wierzchołki, aby zapobiec ich nakładaniu?W języku Mathematica. W przypadku korzystania z obrazów jako wierzchołków w GraphPlot, w jaki sposób zapobiec nakładaniu się obrazów?
Próbowałem różnych oczywistych opcji "Metody" ("SpringElectricalEmbedding", "SpringEmbedding", "HighDimensionalEmbedding", "CircularEmbedding", "RandomEmbedding", "LinearEmbedding").
trans = {1 -> 1, 2 -> 1, 3 -> 1, 4 -> 1, 5 -> 1, 6 -> 1, 7 -> 1,
8 -> 1, 9 -> 1, 10 -> 1, 11 -> 1, 12 -> 1, 13 -> 1, 14 -> 1,
15 -> 1, 16 -> 1, 17 -> 1, 18 -> 13, 19 -> 1, 20 -> 13, 21 -> 13,
22 -> 70, 23 -> 1, 24 -> 1, 25 -> 1, 26 -> 1, 27 -> 13, 28 -> 13,
29 -> 1, 30 -> 13, 31 -> 13, 32 -> 1, 33 -> 19, 34 -> 70, 35 -> 70,
36 -> 1, 37 -> 1, 38 -> 1, 39 -> 39, 40 -> 13, 41 -> 2, 42 -> 13,
43 -> 1, 44 -> 2, 45 -> 1, 46 -> 52, 47 -> 2, 48 -> 68, 49 -> 49,
50 -> 19, 51 -> 78, 52 -> 1, 53 -> 1, 54 -> 39, 55 -> 13, 56 -> 56,
57 -> 13, 58 -> 13, 59 -> 1, 60 -> 36, 61 -> 1, 62 -> 52, 63 -> 2,
6 4 -> 68, 65 -> 19, 66 -> 56, 67 -> 4, 68 -> 76, 69 -> 19,
70 -> 78, 71 -> 1, 72 -> 39, 73 -> 52, 74 -> 56, 75 -> 23,
76 -> 76, 77 -> 56, 78 -> 78};
image = {{1, 0, 0, 0, 0}, {0, 1, 0, 0, 0}};
GraphPlot[trans, DirectedEdges -> True, VertexLabeling -> True,
VertexRenderingFunction -> (Inset[
ArrayPlot[image, ImageSize -> 15, Mesh -> True], #1] &)]
Witamy w Stackoverflow. Dlaczego nie podasz kodu, którego użyłeś (lub jego próbkowania), abyśmy mogli zbadać problem, który masz. – DavidC
Dzięki za informację zwrotną, zapoznaję się z kilkoma sugestiami, które podjąłeś. Dodałem przykład, który może pomóc w wyjaśnieniu mojego pytania. – Martijn
Czy planujesz mieć identyczne obrazy dla każdego z wierzchołków? A może niektóre wierzchołki będą wyglądać inaczej? (Mam powód do pytania). – DavidC