pgfplot 给我的维度太大,无法编译

pgfplot 给我的维度太大,无法编译

我正在尝试绘制论文中的第二个情节,虽然第一个情节可行(几乎与我现在正在做的情节相同),但它不起作用。这是我的代码:

\begin{figure}[h]
\caption{something}
\label{blabla}
\begin{center}
\begin{tikzpicture}
\begin{axis}[width=12cm,height=6cm,
ylabel={Ugearet $\beta$},
xmin=2005, xmax=2016,
ymin=0.0, ymax=2.0,
xtick={2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016},
ytick={0.0,0.25,0.50,0.75,1.0,1.25,1.50,1.75},
xticklabel style={/pgf/number format/1000 sep=,rotate=60,anchor=east,font=\normalsize},
legend pos=north east,
ymajorgrids=true,
grid style=dashed,
] 

\addplot 
\draw [ultra thick, dotted, draw=red] 
    (axis cs: 2016,1.14) -- (axis cs: 2016,1.14)
    node[pos=0.5, above] {$y=12$};
\addplot[
color=blue,
mark=pentagon*,
]
coordinates {(2006,1.88)
(2007,0.76)
(2008,0.95)
(2009,0.75)
(2010,0.90)
(2011,0.80)
(2012,0.92)
(2013,0.74)
(2014,1.28)
(2015,1.36)
(2016,1.28)

};
\addlegendentry{Dansk bioteknologisk industri beta}    

\end{axis}
\end{tikzpicture}
\centering Kilde: 
\end{center}
\end{figure}

我要做的就是绘制一条水平线,平均“beta”为 1.14。我在之前的图中做过这个(在我论文的早期),但现在它不允许我这样做。

任何帮助是极大的赞赏!

答案1

你在这里犯了两个错误。首先,要画线,你应该简单地说

\draw ... ;

不是 \addplot \draw. 第二,应该

\draw [ultra thick, dotted, draw=red] 
(axis cs: 2005,1.14) -- (axis cs: 2016,1.14)
node[pos=0.5, above] {$y=12$};

而不是(2016,1.14) -- (2016,1.14)哪一个是重点...请注意,自 1.11 版本以来,axis cs:默认采用这个。

在此处输入图片描述

相关内容