Chcę utworzyć wykres (teorię wykresu), w którym niektóre krawędzie mają inny kolor niż inne krawędzie, które będą używane do wyróżnienia ścieżki na wykresie z jednego wierzchołka na drugi .Tworzenie wykresu z krawędziami o różnych kolorach w Mathematica
Oto kilka przykładów, które mają różne kolorowe krawędzie http://demonstrations.wolfram.com/AGraphTheoryInterpretationOfTheSumOfTheFirstNIntegers/ i http://demonstrations.wolfram.com/Ramsey336/. Przyjrzałem się kodowi źródłowemu, ale te rozwiązania wydają się skomplikowane. Potrzebuję prostego przykładu do pracy. Sądzę, że muszę użyć EdgeRenderingFunction jako jednej z opcji dla GraphPlot
.
Dodatkowo pod EdgeRenderingFunction dokumentacji w „Więcej informacji” część mówi:
Wygląda to przydatne, ale niestety nie ma zakodowane przykłady spróbować.
Biorąc to bardzo dosłownie, że próbował rzeczy jak
GraphPlot [{1 -> 2, 2 -> 3, 3 -> 4, 4 -> 1 2 -> 4, 4 -> 5, 4 -> 6} VertexLabeling -> prawda
EdgeRenderingFunction -> g [{1, 2}, {1 2}, Czerwony]]
jednak, że nie działa. To zajmie coś bardziej sprytnego.
prosty, elegancki i ogólny +1 –
@ Mark McClure: Mathematica znów mnie zaskakuje. Jak można wywołać funkcję 'erf' bez przekazywania jakichkolwiek argumentów? Mimo że utworzyłeś 3 parametry w definicji funkcji, zakładam, że automatycznie "znajdzie" je w bieżącym kontekście? – dbjohn
@dbjohn Nie nazwałem tej funkcji; Po prostu mówię GraphPlot, jaką funkcję wywołać, gdy rysuje krawędzie. Oto podobny przykład: Wybierz [Zakres [9], EvenQ]. W tym przykładzie wartość EvenQ jest przekazywana jako argument do Select. Wybierz, a następnie wybiera tylko te liczby całkowite n, dla których EvenQ [n] zwraca True. –