2012-03-29 7 views
3

Ich habe Probleme mit den Plotfunktionen in Mathematica. Ich versuche, mehrere Listen von Daten in einem Semilog Plot zu plotten, und fügen Sie dann eine Legende hinzu. Das Grundstück ist in Ordnung:Hinzufügen einer Legende zu einem Semilog Plot in Mathematica

enter image description here

Show[ListLogPlot[bead31, PlotStyle -> Black, 
    PlotMarkers -> {"\[FilledSmallSquare]"}], 
ListLogPlot[bead27, PlotStyle -> Blue, 
    PlotMarkers -> {"\[FilledSmallSquare]"}], 
ListLogPlot[A5, PlotStyle -> Red, 
    PlotMarkers -> {"\[FilledSmallSquare]"}], 
ListLogPlot[A10, PlotStyle -> Green, 
    PlotMarkers -> {"\[FilledSmallSquare]"}], 
ListLogPlot[A20, PlotStyle -> Gray, 
    PlotMarkers -> {"\[FilledSmallSquare]"}], Frame -> True, 
FrameLabel -> {Subscript[t, norm], \[Kappa]}, RotateLabel -> False, 
PlotRange -> Automatic] 

jedoch alle Versuche, eine Legende hinzufügen entweder nicht, oder sind in der gleichen Größenordnung platziert - und seit seiner einer Halblogarithmische Darstellung, alles, was ich sehe, ist eine Linie für eine Legende.

Ich versuchte, meine Legende separat als Graphics-Objekt zu erstellen:

enter image description here

aber ich kann nicht herausfinden, wie es im Bild zu platzieren (ich war mit Inset spielen [] und Epilog [ ], aber ich denke, ich benutze sie falsch).

Show[Graphics[ 
    Legend[{{Graphics[{Black, Rectangle[{-1, -1}, {1, 1}]}], 
    "31 beads"}, {Graphics[{Blue, Rectangle[{-1, -1}, {1, 1}]}], 
    "27 beads"}, 
    {Graphics[{Red, Rectangle[{-1, -1}, {1, 1}]}], "A5"}, 
    {Graphics[{Green, Rectangle[{-1, -1}, {1, 1}]}], "A10"}, 
    {Graphics[{Gray, Rectangle[{-1, -1}, {1, 1}]}], "A20"}}]]] 

Wenn jemand weiß, wie man eine Legende richtig in das erste Diagramm einfügen kann, würde jede Hilfe sehr geschätzt werden.

+0

Verwandte http://stackoverflow.com/a/7788587/353410 –

Antwort

3

Vielleicht:

Needs["PlotLegends`"]; 
ListLogPlot[{ 
    Table[PartitionsQ[n], {n, 50}], 
    Table[{n, n!}, {n, 1, 20, .1}]}, 
    PlotLegend -> {"Parts", "Fact"}, LegendPosition -> {0.8, -0.8}] 

enter image description here

+0

Ah, das funktioniert! Ich habe versucht, den PlotLegend-Befehl außerhalb in einem Show-Befehl hinzuzufügen. Danke für die Hilfe! – scallionpancake