Warnung! Ich habe die Frage gestellt, als Mathematica v 8.0 das coolste Kind war. Der Fehler wurde ab Version 9.0.1 behoben.
The help for EdgeLabels
gibt Folgendes an:
Allerdings:
%Vor%Ergebnisse in:
Also, keine Edge-Labels ... Ich denke, es ist ein Bug.
Ich habe ein ekliges Konstrukt wie:
verwendet %Vor%
Bessere Ideen?
Für eine normale GraphPlot
benötigen Sie eine etwas kompliziertere Lösung mit EdgeRenderingFunction
( Dokumentation ). Angenommen, Sie haben eine Adjazenzmatrix, in der die Elemente auch die (gerichteten) Gewichte sind.
Hier sind einige Beschriftungen für die Vertices, vorausgesetzt, Sie zeichnen Netzwerkdiagramme für internationale Interbankenaufnahmen (das Original hat viel mehr Länder!).
%Vor% Folgendes tut, was Sie brauchen. Die Tricks sind der Verweis auf die Adjazenzmatrix unter Verwendung der Teile von #2
innerhalb der Teilespezifikation, um auf die korrekten Elemente von nums
zu verweisen, und die Mean[#1]
, um das Etikett am Mittelpunkt der Kante zu lokalisieren. Der Slot #1
scheint die Koordinaten der Scheitelpunkte zu enthalten.
EdgeLabels - & gt; "EdgeWeight" funktioniert immer noch nicht in 8.0.4 und scheint nicht mehr in der Dokumentation zu sein. Hier ist jedoch eine Lösung, die funktioniert:
%Vor% EdgeLabels
funktioniert einwandfrei. EdgeWeights
nicht.
Aus Belisarius 'zweitem Beispiel mag es bereits offensichtlich sein, dass das Problem bei EdgeWeights
nicht EdgeLabels
Hier sind einige zusätzliche Beweise. EdgeLabels
zeigt sehr gerne eine Vielzahl von Etiketten an. Aber wenn du mma anforderst, "EdgeWeights"
anzuzeigen, zeigt es fälschlicherweise 1 an, egal was du dort gespeichert hast.
Der Fehler ist nicht auf CompleteGraph
beschränkt. Graph
und GridGraph
haben das gleiche Problem.
Tags und Links wolfram-mathematica mathematica-8