6

I would like to write \gamma on top of my legend in the plot (shown in Image) generated by using the code shown below. I generally use \node at (axis cs: co-ordinate x,co-ordinate y) {text} of the plot. Since the legend is outside the plot, i am not sure how to access a point above the legend using \node.

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

\begin{document}


\begin{tikzpicture}
\begin{loglogaxis}[
 %  scale=0.8,
 %  width=\columnwidth,
 %  baseline,
    ylabel={$G(\gamma,t) \:\: \mathrm{(Pa)}$},
    xlabel= t (s),
    legend entries ={0.1,0.2,0.4,0.8},
    legend style={at={(1.3,0.5)},anchor=east,font=\small},
]

\addplot [color=red,line width=1.5pt] table [x=time,y=m01,row sep=newline] {relaxationExpDatafor65v.dat};

\addplot [color=green,line width=1.5pt] table [x=time,y=m02,row sep=newline] {relaxationExpDatafor65v.dat};

\addplot [color=blue,line width=1.5pt] table [x=time,y=m04,row sep=newline] {relaxationExpDatafor65v.dat};

\addplot [color=cyan,line width=1.5pt] table [x=time,y=m08,row sep=newline] {relaxationExpDatafor65v.dat};


%%fits

\addplot [color=black,line width=1pt,densely dashed] table [x=time,y=m01,row sep=newline] {relaxationExpDataPredfor65v.dat};

\addplot [color=black,line width=1pt,densely dashed] table [x=time,y=m02,row sep=newline] {relaxationExpDataPredfor65v.dat};

\addplot [color=black,line width=1pt,densely dashed] table [x=time,y=m04,row sep=newline] {relaxationExpDataPredfor65v.dat};

\addplot [color=black,line width=1pt,densely dashed] table [x=time,y=m08,row sep=newline] {relaxationExpDataPredfor65v.dat};



\end{loglogaxis}
\end{tikzpicture}

\end{document}

Generated plot

I hope you don't need the .dat files called in the code (frankly i am not sure how to upload them, since this is my first question in this community). Thank you in advance for your time!

2 Answers2

7

Just add label=above:$\gamma$ in legend style definition.

As an example I've used Steven's provided code:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
      \begin{tikzpicture}
        \begin{axis}[
            width  = 1*\textwidth,
            height = 4.5cm,
            major x tick style = transparent,
            ybar=1*\pgflinewidth,
            bar width=13pt,
            symbolic x coords={A,B,C,D},
            xtick = data,
            enlarge x limits=0.25,
            ymax=15,
            ymin=0,
            legend cell align=left,
            legend style={
                    at={(1,1.05)},
                    anchor=south east,
                    column sep=1ex,
                    label=above:$\gamma$ %<--------------------
            }
        ]
            \addplot[style={fill=red,mark=none}]
                coordinates {(A, 4.44) (B,0.1) (C,4.37) (D,4.07)};
            \addplot[style={fill=green,mark=none}]
                coordinates {(A, 0.4) (B,0.8) (C,0.3) (D,0.5)};
            \addplot[style={fill=blue,mark=none}]
                coordinates {(A, 0.2) (B,0) (C,0.9) (D,0.8)};
            \addplot[style={fill=yellow,mark=none}]
                coordinates {(A, 9.59) (B,0.2) (C,8.86) (D,8.62)};
        \legend{C1,C2,C3,C4}
      \end{axis}
    \end{tikzpicture}%
\end{document}

enter image description here

Ignasi
  • 136,588
5

If no answer presents itself inside of tikz, here is a way to wrap the code around the outside of the tikzpicture environment. Since I didn't have enough to compile your example, I just grabbed a similar example from another question.

Based completely on the answer at Annotate grouped bar plot, just changing the position of the annotation and the text of it, one can add annotations. In this MWE, I show two nested annotations: a bullet inside the graph over the red bar; and a gamma over the legend.

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{stackengine}[2013-09-11]
\begin{document}
    \begin{figure}[]
     \stackinset{c}{-3.92cm}{b}{1.52cm}{$\bullet$}{%
     \stackinset{r}{.6cm}{t}{-.3cm}{$\gamma$}{%
      \begin{tikzpicture}
        \begin{axis}[
            width  = 1*\textwidth,
            height = 4.5cm,
            major x tick style = transparent,
            ybar=1*\pgflinewidth,
            bar width=13pt,
            symbolic x coords={A,B,C,D},
            xtick = data,
            enlarge x limits=0.25,
            ymax=15,
            ymin=0,
            legend cell align=left,
            legend style={
                    at={(1,1.05)},
                    anchor=south east,
                    column sep=1ex
            }
        ]
            \addplot[style={fill=red,mark=none}]
                coordinates {(A, 4.44) (B,0.1) (C,4.37) (D,4.07)};
            \addplot[style={fill=green,mark=none}]
                coordinates {(A, 0.4) (B,0.8) (C,0.3) (D,0.5)};
            \addplot[style={fill=blue,mark=none}]
                coordinates {(A, 0.2) (B,0) (C,0.9) (D,0.8)};
            \addplot[style={fill=yellow,mark=none}]
                coordinates {(A, 9.59) (B,0.2) (C,8.86) (D,8.62)};
        \legend{C1,C2,C3,C4}
      \end{axis}
    \end{tikzpicture}%
   }}
  \end{figure}
\end{document}

enter image description here