Добавление легенды к полулоговому сюжету в Mathematica - PullRequest
3 голосов
/ 30 марта 2012

У меня проблемы с функциями построения графиков в 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]

Однако любые попытки добавить легенду либо терпят неудачу, либо помещаются в один и тот же масштаб - и поскольку это полулог, все, что я вижу, - это линия для легенды.

Я пытался создать свою легенду отдельно как графический объект:

enter image description here

но я не могу понять, как разместить его на изображении (я играл с Inset [] и Epilog [], но думаю, что я их неправильно использую).

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

Если кто-нибудь знает способ правильно добавить легенду в первый график, любая помощь будет принята с благодарностью.

1 Ответ

3 голосов
/ 30 марта 2012

Возможно:

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

...