出于视觉原因,我希望将 y 轴和 x 轴的值扩展到数据之外。我尝试强制刻度和标签,但没有成功。我希望两个轴从零开始,并在最大数据点之外结束。这是我第一次尝试pgfplots.
\documentclass{article}
\usepackage{tikz,pgfplots}
\usetikzlibrary{snakes,backgrounds,arrows,decorations.markings}
\begin{document}
%
%
\begin{center}
\begin{tikzpicture}
\begin{axis}[
small,
xlabel=Time in min.,
ylabel=Distance in mi.,
axis y line=left,
axis x line=bottom,
xtick={0,2,4,6,8,10,12},
ytick={0,1,1.5,2,...,3.5},
xticklabels={0,2,4,6,8,10,12},
yticklabels={0,1,1.5,2,...,3.5},
xtickmin=0,
xtickmax=11,
ytickmin=0,
ytickmax=3.5
]
\addplot[color=blue,mark=*]
coordinates {
(1,1)
(2,1)
(5,3)
(8,3)
(9,2)
(10,3)
};
\end{axis}
\end{tikzpicture}
\end{center}
%
%
\end{document}
答案1
xmin
可以使用、、xmax
等指定绘图的可见范围ymin
。如果您想自动将轴范围扩展到最大值之外,您可以设置enlargelimits=upper
(此行为可以相当精确地控制:您可以将轴放大一定数量的单位、一定百分比或一定长度。有关详细信息,请查看手册)。
在您的示例中,您可以简单地说xmin=0, ymin=0, enlargelimits=upper
,而无需自己指定刻度:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
small,
compat=1.8,
xlabel=Time in min.,
ylabel=Distance in mi.,
axis y line=left,
axis x line=bottom,
xmin=0,
ymin=0,
enlargelimits=upper
]
\addplot[color=blue,mark=*]
coordinates {
(1,1)
(2,1)
(5,3)
(8,3)
(9,2)
(10,3)
};
\end{axis}
\end{tikzpicture}
\end{document}