'PlotLegend' n'affiche pas la couleur de symbole correcte
Oct 15 2020
Je trace des points de données avec une légende mais je PlotLegendne donne pas la même couleur que les points. Où est l'erreur?
Voici le résultat que j'obtiens: [1]: https://i.stack.imgur.com/s5yga.png
ListPlot[{{0.4, 38}, {0.5, 15}, {0.6, 10}},
Frame -> True,
FrameLabel -> {"a", "b"},
PlotMarkers -> {
Graphics[{EdgeForm[Directive[Thick, Blue]], White, Rectangle[]},ImageSize -> (15)]},
PlotRange -> {{0.3, 0.7}, {0, 100}},
PlotRangePadding -> {0.05, 2},
PlotLegends ->
Placed[PointLegend[{"data"}, LegendMarkerSize -> 14,
LabelStyle -> {FontSize -> 18, FontFamily -> "Arial",
Black}], {0.165, 0.215}]]
Réponses
4 kglr Oct 15 2020 at 19:10
Les bords grisâtres des marqueurs de légende sont dus au paramètre par défaut:
Legending`LegendDump`$DefaultMarkerStyle
EdgeForm[Directive[Opacity[0.3`], GrayLevel[0]]]
Vous pouvez résoudre le problème de trois manières différentes:
1. Utilisez EdgeForm[Directive[Thick, Opacity[1], Blue]]au lieu de EdgeForm[Directive[Thick, Blue]]pour obtenir
2. Ajoutez l'option BaseStyle -> EdgeForm[Opacity[1]]à PointLegend:
ListPlot[{{0.4, 38}, {0.5, 15}, {0.6, 10}}, Frame -> True,
FrameLabel -> {"a", "b"},
PlotMarkers -> {Graphics[{EdgeForm[Directive[Thick, Blue]], White,
Rectangle[]}, ImageSize -> (15)]},
PlotRange -> {{0.3, 0.7}, {0, 100}}, PlotRangePadding -> {0.05, 2},
PlotLegends ->
Placed[PointLegend[{"data"}, BaseStyle -> EdgeForm[Opacity[1]],
LegendMarkerSize -> 14,
LabelStyle -> {FontSize -> 18, FontFamily -> "Arial",
Black}], {0.165, 0.215}]]
3. Définissez la valeur de Legending`LegendDump`$DefaultMarkerStylesur Opacity[1]:
Legending`LegendDump`$DefaultMarkerStyle = Opacity[1]
ListPlot[{{0.4, 38}, {0.5, 15}, {0.6, 10}}, Frame -> True,
FrameLabel -> {"a", "b"},
PlotMarkers -> {Graphics[{EdgeForm[Directive[Thick, Blue]], White,
Rectangle[]}, ImageSize -> (15)]},
PlotRange -> {{0.3, 0.7}, {0, 100}}, PlotRangePadding -> {0.05, 2},
PlotLegends ->
Placed[PointLegend[{"data"}, LegendMarkerSize -> 14,
LabelStyle -> {FontSize -> 18, FontFamily -> "Arial",
Black}], {0.165, 0.215}]]