[Tex/LaTex] pgfplots: Selectively reducing marker size in the legend

pgfplotstikz-pgf

I have a plot created using pgfplots in which I have included a legend. However, I find that the marker sizes in the legend are the same size as the markers used in the main plot. I think this is a bit distracting, and I usually prefer markers in the legend to be slightly smaller than markers in the main plot. (Similarly, legend text to be smaller than labels).

The manual says that the legend is implemented as a TikZ matrix; however, I couldn't figure out how to change the marker symbol sizes selectively. My current line in the code that determiens legend style is:

legend style={draw=black,rounded corners=3pt,thin,at={(0.03,0.97)},anchor=north west}

Any changes I make to these option only influences the outer box. Modifying the line to

legend style={draw=black,rounded corners=3pt,thin,at={(0.03,0.97)},anchor=north west, 
                 font=\small}

only changes the font of the text in the legend itself.

Is there a way to selectively change the marker size in the legend alone?

In a related question, If I mark a particular point with a small rectangle around it (using the draw command), and then want to include that rectangle in the legend to describe what the marking means, how is that done?

Update following @cmhughes recommendation

Here is the modified 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}

enter image description here

I went through the code once more and have pinned down the problem to the addplot[mark size = 2] option. Commenting out this line changes the marker size in the legend exclusively (Marker size, line widths exaggerated for illustration):

enter image description here

But I would like to have the option of changing the marker size in the plot according to my needs, and independently scaling down all legend marker sizes.

Best Answer

As demonstrated by @Jake in pgfplots: Legends in multiple y-axis plot overlapping you can use \addlegendimage{<plot options>} before your plot.

For example

\addlegendimage{red,dashed};
\addlegendentry{Different!};
\addplot[blue,thick]{x^2}; 

gives

screenshot

MWE

\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}

Update following the comments

If you want a global change, then perhaps something like

\pgfplotsset{every axis/.append style={
                    legend style={font=\tiny,line width=.5pt,mark size=.6pt},
                    }}

will be appropriate.

screenshot

Or, finally, thanks to the guru @Jake, you could try

\pgfplotsset{every axis/.append style={
        legend style={ font=\tiny, mark options={scale=0.5} }, }