我正在尝试绘制一个图,其中只有从 x 轴到标记的线,如下所示:
这是我迄今为止所拥有的 MWE:
\documentclass{article}
\usepackage{pgfplots}
\usepackage{filecontents}
\usepackage{graphicx}
\begin{filecontents*}{data.csv}
Iter y
1, -0.9317521
2, 1.8946202
3, 0
4, 1.5797030
5, -1.8814457
6, 0
7, 2.0373926
8, 0
9, 1.9972528
10, 0
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel={$Number~of~Recursions$},ylabel={Absolute Parameter Error}]
\addplot [only marks,mark=*,blue,mark options={scale=.65}]table[x index=0,y index=1,col sep=comma] {data.csv};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
类似这样的?只需将bar width
和编辑line width
为所需值即可
\documentclass{article}
\usepackage{pgfplots}
\usepackage{filecontents}
\usepackage{graphicx}
\begin{filecontents*}{data.csv}
Iter y
1, -0.9317521
2, 1.8946202
3, 0
4, 1.5797030
5, -1.8814457
6, 0
7, 2.0373926
8, 0
9, 1.9972528
10, 0
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar,bar width=1pt,xlabel={$Number~of~Recursions$},ylabel={Absolute Parameter Error}]
\addplot [mark=*,blue, fill=blue,mark options={scale=.65}]table[x index=0,y index=1,col sep=comma] {data.csv};
\addplot[blue,line width=1pt,sharp plot, update limits=false] coordinates {(0,0) (11,0)};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
这是梳状图,不是吗?如果您需要 y=0 的线,您可以添加图 ( \addplot[blue] coordinates {(0,0)(10,0)};
) 或使用来自的方法如何在绘图中添加零线?
顺便一提,递归次数不是数学,请勿以数学模式书写。如果您想要斜体,请使用\textit{Number of recursions}
或。xlabel style={font=\itshape},xlabel=Number of recursions
\documentclass{article}
\usepackage{pgfplots}
\usepackage{filecontents}
\begin{filecontents*}{data.csv}
Iter y
1, -0.9317521
2, 1.8946202
3, 0
4, 1.5797030
5, -1.8814457
6, 0
7, 2.0373926
8, 0
9, 1.9972528
10, 0
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel={Number of Recursions},
ylabel={Absolute Parameter Error},
after end axis/.append code={
\draw[ultra thin,blue] (axis cs:\pgfkeysvalueof{/pgfplots/xmin},0) -- (axis cs:\pgfkeysvalueof{/pgfplots/xmax},0);
}]
\addplot+ [ycomb] table[x index=0,y index=1,col sep=comma] {data.csv};
\end{axis}
\end{tikzpicture}
\end{document}