我对 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)};
我得到: