向条形图添加趋势线

向条形图添加趋势线

我对 LaTeX 还很陌生,正在准备我的第一个文档,并在学习过程中不断学习。我在绘制一个图表时遇到了问题 - 我试图在条形图中添加趋势线以展示变化的线性。我尝试使用建议的解决方案这里 - 在条形图上绘制趋势线但没有成功。

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}


\begin{document}

\pgfplotsset{width=16.5cm, height=5cm}
\begin{center}
    \begin{tikzpicture}
        \begin{axis}[
            ymajorgrids,
            date coordinates in=x,
            xticklabel={\day.\month.\year},
            xlabel={Time horizon},
            stack plots=y,
            ylabel=Yield {[}\%{]},
            ytick={0,1,2,3,4},
            ymin=0, ymax=5,
            date ZERO = 2013-12-05,
            xtick={2013-12-05,2014-07-25,2014-10-24,2015-07-25,2015-10-24},
            every axis/.append style={font=\small,line width=0.5pt,tick style={line width=0.5pt}},
            ylabel near ticks,
            bar width = 4
            ]


            \addplot[ybar,fill=cyan] coordinates {
                (2013-12-05, 0)
                (2014-10-24, 2.55)
                (2015-07-25, 3.11)
                (2015-10-24, 3.30)};
            \addplot[ybar,fill=green] coordinates {
                (2014-07-25, 2.36)};

%           \addplot [thick, orange] coordinates {
%               (2014-07-25, 2.36)
%               (2014-10-24, 2.55)
%               (2015-07-25, 3.11)
%               (2015-10-24, 3.30)};


            \node[coordinate,label={\(r_{0.64} = 2.36\%\)}]
                    at (axis cs:2014-07-25,2.36) {};
            \node[coordinate,label={\(r_{0.88}\)}]
                    at (axis cs:2014-10-24,2.55) {};
            \node[coordinate,label={\(r_{1.64}\)}]
                    at (axis cs:2015-07-25,3.11) {};
            \node[coordinate,label={\(r_{1.88}\)}]
                    at (axis cs:2015-10-24,3.30) {};
        \end{axis}
    \end{tikzpicture}
\end{center}

\end{document}

当您取消注释线图时,它会返回一个错误:抱歉,pgfplots 要求堆叠图具有完全相同数量的坐标。

我需要的是一条直线,将我拥有的 4 条条形图连接起来。我尝试将线图代码放在条形图代码之前,这样我就可以绘制线图,但之后所有条形图都是从线的水平绘制的,如图所示。在条形图前绘制线条

任何帮助将不胜感激。

答案1

如果绘制了该线,则stack plots=y仍然处于活动状态。禁用后:

\addplot [thick, orange, stack plots=false] coordinates {
    (2014-07-25, 2.36)
    (2014-10-24, 2.55)
    (2015-07-25, 3.11)
    (2015-10-24, 3.30)};

我得到:

结果

相关内容