我尝试将重要性标记添加到我用 制作的图表中pgfplots
。在回答此处的另一个问题时,我发现可以将\draw
和添加\node
到代码中以绘制一条上面带有星号的线。工作示例中的代码生成的图形看起来像第一张图片中的图形,但我更希望得到类似于第二张图片的东西(中间的星号和标记水平线末端的小垂直线)。
有人能帮帮我吗?谢谢!
\documentclass{apa6}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar,
enlargelimits=0.15,
height=0.7\textwidth,
legend style={at={(0.5,-0.15)},
anchor=north,legend columns=-1},
ylabel={Pupillenweite},
symbolic x coords={Baseline,Stimulus},
xtick=data,
]
%neutral
\addplot[blue,fill=blue!30!white,error bars/.cd,y dir=both,y explicit,]
coordinates{(Baseline,0.0476) +-(0.02117,0.02117) (Stimulus,-0.1809) +-(0.01841,0.01841)};
%negativ
\addplot[red,fill=red!30!white,error bars/.cd,y dir=both,y explicit,]
coordinates{(Baseline,0.0342) +-(0.02073,0.02073) (Stimulus,0.1013) +-(0.01904,0.01904)};
\draw (axis cs:Baseline,0.1) ++ (-10pt,0pt) -- ++(280pt,0pt);
\node[anchor=south] at (axis cs:Baseline,0.1) {*};
\legend{neutral,emotional}
\end{axis}
\end{tikzpicture}
\end{document}
答案1
我想补充的是,快速而肮脏
\usetikzlibrary{arrows.meta}
序言,然后
\draw [arrows={Bar[left]-Bar[right]}, shorten <= -10pt, shorten >=5pt]
(axis cs:Baseline,0.1) -- node[midway, above]{*} (axis cs:Stimulus,0.1);
\draw [arrows={Bar[left]-Bar[right]}, ]
(axis cs:Stimulus,0.14) ++(-10pt, 0) -- node[midway, above]{*} ++(30pt,0);
获得:
请注意,由于按键的原因,第一个星号没有完全居中shorten
;改变这一点并不困难,只需做类似于第二行的操作(其中它是居中)。
arrows.meta
您可以在手册的第 16 节中找到很多相关信息。