这应该是一个简单的问题,关于使用 pgfplots 用节点定位文本。
要制作带有文本的倾斜节点线,我会使用
\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}
例如。
为了制作一个带有旋转文本的倾斜节点,我可以使用上、下、左、右或这些的组合将文本定位在节点线上,我会将\node
上面的部分更改为
\node[coordinate,
pin = {[rotate=45]right:g factor = 1.96}
] at (-0.3,250) {};
我的问题:如何above
在below
right
第一的代码(不旋转文本和节点线)?我尝试了诸如45right
、、45, right
之类的方法[45]right
,但我的猜测都没有奏效,而且我似乎无法在线找到示例。
编辑
以下是我上面输入的第一段代码
以下是我想要做的(只需移动文本相对于节点线的位置)
谢谢。
答案1
滥用 Jake 的回答中的代码我如何强制 TikZ 引脚角度?,我们可以为引脚定义一种新样式,使用一个标签(我们将其锚点设置为标记文本)和一个空引脚来绘制线条。您提供参数使其[anchor for label]angle:text
类似于默认引脚用法。据推测,有某种方法可以根据角度自动选择锚点,但我的 TikZ-fu 还不够强大 :-) 请注意,%
由于 TikZ 解释空格的方式,线条末尾的 是必需的。
\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}