Wie erstelle ich PlotLegends einen Titel?
Ich möchte den von mir verwendeten Plotlegenden einen Titel geben. Ich bekomme hier eine Lösung , die sagt, zu verwenden PlotLegends -> SwatchLegend[{0, 3.3, 6.7, 10, 13, 17, 20}, LegendLabel -> "mu"]. Ich möchte aber auch die Legenden dort platzieren, wo ich sie gerne verwenden möchte PlotLegends -> Placed[Range[1, 6, 1], {0.2, 0.3}].
Wie kann ich beides machen?
Bearbeiten: Als die Antwort gegeben wurde, funktioniert die Verpackung, aber es gibt immer noch ein Problem, dh meine Handlung sieht so aus:
Wo ich die Legenden als "H" bezeichnen möchte. Aber wenn ich das Swatchlegend-Ding mache, wird es so:
Ich möchte die Markierungen und Farben gleich halten. Was sollte ich tun?
Antworten
Sie suchen wahrscheinlich nach PointLegend, aber Sie sollten mehr Details angeben, damit andere Ihre Ergebnisse reproduzieren können.
mu = {0, 3.3, 6.7, 10, 13, 17, 20};
pl = PointLegend[mu, LegendLabel -> "mu", LegendFunction -> "Frame",
LegendLayout -> "Row", LegendMarkers -> Automatic];
fns = Table[n^(1/p), {p, 7}, {n, 10}];
ListLinePlot[fns, PlotMarkers -> Automatic,
PlotLegends -> Placed[pl, Top]]
Sie können Placed um die Legende wickeln. Hier ist ein Beispiel, das aus der SwatchLegend-Dokumentation geändert wurde:
Plot[{Sin[x], Cos[x]}, {x, 0, 5},
PlotLegends -> Placed[SwatchLegend[{"first", "second"},
LegendLabel -> "legend title"], {0.2, 0.3}]]
Sie können verwenden PlotLegends - > Placed[labels, Top, Labeled[#, legendlabel, Top] &].
Verwenden Sie die Beispieleingabe aus Tim Laskas Antwort:
mu = {0, 3.3, 6.7, 10, 13, 17, 20};
fns = Table[n^(1/p), {p, 7}, {n, 10}];
ListLinePlot[fns, PlotMarkers -> Automatic,
PlotLegends -> Placed[mu, Top, Labeled[#, Style["mu", 16], Top] &]]
Sie können das Erscheinungsbild mit dem dritten Argument weiter verschönern Placed:
ListLinePlot[fns, PlotMarkers -> Automatic,
PlotLegends -> Placed[mu, Top, Panel @ Labeled[#, Style["mu", 16], Top] &]]
ListLinePlot[fns, PlotMarkers -> Automatic,
PlotLegends -> Placed[mu, Top,
Framed[#, FrameStyle -> Directive[Thin, Gray],
RoundingRadius -> 5, ImageMargins -> 5] & @
Labeled[#, Style[Row[{Spacer[5], "mu"}], 24, "Section"], {{Top, Left}}] &]]