
Esta deve ser uma pergunta simples sobre o posicionamento de texto com nós usando pgfplots.
Para fazer uma linha de nó inclinada com texto eu usaria
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat = newest}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis}[
title = DPPH,
xlabel = Applied Magnetic Field (I Guess) / G,
xmax = 8,
xmin = -8,
ymax = 300,
ymin = -300,
ytick = \empty,
xtick pos = left]
\addplot[black, % Plotting the data
no marks]
table[x=xaxis,y=yaxis] {dpph2.dat};
\node[coordinate,
pin = {45:g factor = 1.96}
] at (0.2,224) {};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
por exemplo.
Para fazer um nó inclinado com texto girado, onde posso posicionar o texto sobre a linha do nó usando acima, abaixo, esquerda, direita ou uma combinação desses, eu mudaria a \node
parte acima para
\node[coordinate,
pin = {[rotate=45]right:g factor = 1.96}
] at (-0.3,250) {};
Minha pergunta: como faço para usar above
, below
, right
, etc noprimeirocódigo (sem girar o texto e também a linha do nó)? Tentei coisas como 45right
, 45, right
, [45]right
, mas nenhum dos meus palpites funcionou e não consigo encontrar um exemplo online.
EDITAR
Aqui está o que o primeiro trecho de código que coloquei acima me dá
e aqui está o que eu gostaria de poder fazer (basta mover onde o texto está em relação à linha do nó)
Obrigado.
Responder1
(Ab)usando o código da resposta de Jake paraComo posso forçar o ângulo do pino TikZ?, podemos definir um novo estilo para os alfinetes que usa um rótulo cuja âncora definimos para rotular o texto e um alfinete vazio para desenhar a linha. Você fornece os argumentos [anchor for label]angle:text
para torná-lo semelhante ao uso de pin padrão. Presumivelmente, existe alguma maneira de escolher automaticamente a âncora com base no ângulo, mas meu TikZ-fu não é forte o suficiente para isso :-) Observe que as %
linhas no final são necessárias devido à forma como o TikZ interpreta os espaços.
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat = newest}
\tikzset{
aligned pin/.style args={[#1]#2:#3}{
pin={[%
inner sep=0pt,%
label={[%
append after command={%
node[%
inner sep=0pt,%
at=(\tikzlastnode.#2),%
anchor=#1,%
]{#3}%
}%
]center:{}}%
]#2:{}}%
}
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title = DPPH,
xlabel = Applied Magnetic Field (I Guess) / G,
xmax = 8,
xmin = -8,
ymax = 300,
ymin = -300,
ytick = \empty,
xtick pos = left
]
\node[coordinate,
aligned pin={[west]45:g factor=1.96},
] at (0,0) {};
\end{axis}
\end{tikzpicture}
\end{document}