使用 pgfplots 为图表添加重要标记

使用 pgfplots 为图表添加重要标记

我尝试将重要性标记添加到我用 制作的图表中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 节中找到很多相关信息。

相关内容