2012-03-29 5 views
3

J'ai des problèmes avec les fonctions de traçage dans Mathematica. Je tente de tracer plusieurs listes de données sur une intrigue semilog, puis d'ajouter une légende. L'intrigue est très bien:Ajout d'une légende à un graphique semilog dans 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] 

Cependant, toute tentative d'ajouter une légende ne réussissent pas, ou sont placés dans la même échelle - et depuis son un terrain semi-logarithmique, tout ce que je vois est une ligne pour une légende.

J'ai essayé de créer ma légende séparément comme un objet graphique:

enter image description here

, mais je ne peux pas comprendre comment le placer dans l'image (je jouais avec Encart [] et Epilogue [ ], mais je pense que je les utilise mal).

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"}}]]] 

Si quelqu'un connaît un moyen d'ajouter correctement une légende dans le premier graphe, toute aide serait grandement appréciée.

+0

Liée http://stackoverflow.com/a/7788587/353410 –

Répondre

3

Peut-être:

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, ça marche! J'ai continué à essayer d'ajouter la commande PlotLegend à l'extérieur, dans une commande Show. Merci pour l'aide! – scallionpancake

Questions connexes