我使用 创建了一个图例,并pgfplots
在其中添加了图例。但是,我发现图例中的标记大小与主图中使用的标记大小相同。我认为这有点分散注意力,我通常希望图例中的标记比主图中的标记略小。(同样,图例文本也比标签小)。
手册说图例是作为 TikZ 矩阵实现的;但是,我不知道如何有选择地更改标记符号大小。我当前在代码中确定图例样式的行是:
legend style={draw=black,rounded corners=3pt,thin,at={(0.03,0.97)},anchor=north west}
我对这些选项所做的任何更改都只会影响外部框。修改该行以
legend style={draw=black,rounded corners=3pt,thin,at={(0.03,0.97)},anchor=north west,
font=\small}
仅改变图例本身的文本字体。
有没有办法可以单独选择性地更改图例中的标记大小?
在一个相关的问题中,如果我用一个小矩形标记一个特定的点(使用绘制命令),然后想在图例中包含该矩形来描述该标记的含义,那么该怎么做?
根据@cmhughes 的建议进行更新
修改后的 MWE 如下:
\documentclass{standalone}
\usepackage{pgfplots, amsmath, amssymb}
\pgfplotsset{width=7cm, compat=newest}
\pgfplotsset{every axis/.append style={
legend style={font=\tiny,line width=5pt,mark size=10pt},
}}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmode = log,
ymode = log,
xlabel = {A},
ylabel = {B},
]
\addplot[
color = red,
mark = x,
mark size = 2,
only marks,
]
coordinates
{
(2,2.8559703)
(30,30.5301677)
(400,400.3050655)
(5000,5000.1413136)
(60000,60000.0322865)
};
\addlegendentry{some data}
\end{axis}
\end{tikzpicture}
\end{document}
我再次检查了代码,并将问题归咎于选项addplot[mark size = 2]
。注释掉此行只会更改图例中的标记大小(标记大小、线宽已夸大以便说明):
但我希望可以根据自己的需要选择更改图中的标记大小,并独立缩小所有图例标记大小。
答案1
正如@Jake 所演示的那样pgfplots:多个 y 轴图中的图例重叠\addlegendimage{<plot options>}
你可以在情节之前使用。
例如
\addlegendimage{red,dashed};
\addlegendentry{Different!};
\addplot[blue,thick]{x^2};
给出
平均能量损失
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addlegendimage{red,dashed};
\addlegendentry{Different!};
\addplot[blue,thick]{x^2};
\end{axis}
\end{tikzpicture}
\end{document}
根据评论进行更新
如果你想要一个全局性的改变,那么也许可以这样做
\pgfplotsset{every axis/.append style={
legend style={font=\tiny,line width=.5pt,mark size=.6pt},
}}
将是合适的。
或者,最后,感谢大师@Jake,你可以尝试
\pgfplotsset{every axis/.append style={
legend style={ font=\tiny, mark options={scale=0.5} }, }