
Я хотел бы написать\gamma
на вершине моей легендыв графике (показанном на изображении), сгенерированном с использованием кода, показанного ниже. Я обычно использую \node at (axis cs: co-ordinate x,co-ordinate y) {text}
график. Поскольку легенда находится за пределами графика, я не уверен, как получить доступ к точке над легендой с помощью \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}
Надеюсь, вам не нужны файлы .dat, вызываемые в коде (честно говоря, я не уверен, как их загрузить, так как это мой первый вопрос в этом сообществе). Заранее спасибо за ваше время!
решение1
Просто добавьте label=above:$\gamma$
определение legend style
.
В качестве примера я использовал код, предоставленный Стивеном:
\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}
решение2
Если внутри нет ответа tikz
, вот способ обернуть код вокруг внешней части среды tikzpicture
. Поскольку у меня не было достаточно, чтобы скомпилировать ваш пример, я просто взял похожий пример из другого вопроса.
Полностью основано на ответе наАннотировать сгруппированную столбчатую диаграмму, просто изменив положение аннотации и ее текст, можно добавлять аннотации. В этом MWE я показываю две вложенные аннотации: маркер внутри графика над красной полосой; и гамма над легендой.
\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}