我有以下图表,其中我想跳过 [0,50),因为在这个范围内没有 y 值。但是,我希望不连续点之前的值为 0 而不是 50。然后不连续点上方的第一个值为 50 而不是 60。我该怎么做?
\begin{tikzpicture}
\begin{axis}[
title={Test},
xlabel={X-Val},
ylabel={Y-Val},
xmajorgrids,
xmin=0, xmax=6,
% xtick=data,
xtick={1,2,3,4,5},
axis y discontinuity=crunch,
axis y line=left,
axis x line=bottom,
ymin=50, ymax=110,
% ytick=data,
ytick={0,50,60,70,80,90,100},
ytickmin=50,
% enlargelimits=false,
legend pos=north west,
xlabel style={yshift=-0.7cm},
x tick label style={
yshift=-0.2cm,
xshift=0.2cm,
rotate=45,
anchor=east,
},
ymajorgrids,
grid style=dashed,
]
\addplot[
color=blue,
mark=square,
]
coordinates {
(1,50)(2,60)(3,70)(4,80)(5,88)
};
\legend{Legend}
\end{axis}
\end{tikzpicture}
以下是我想要的 y 轴
当我将 y 轴的最小值为 0 时,会发生这种情况
答案1
考虑了@Zarko 的回答后,我找到了解决方案。
我需要添加extra y ticks
和,ymin
其值比我的最小值低 10。并且我需要一个extra y tick labels
值为 0 的。
因为我的最小 y 值是 50,所以我添加了以下内容,
extra y ticks={40},
extra y tick labels={0},
ymin=40,
这是最终的代码
\begin{tikzpicture}
\begin{axis}[
title={Test},
xlabel={X-Val},
ylabel={Y-Val},
xmajorgrids,
xmin=0, xmax=6,
xtick={1,2,3,4,5},
axis y discontinuity=crunch,
axis y line=left,
axis x line=bottom,
ymin=40, ymax=110,
ytick={0,50,60,70,80,90,100},
extra y ticks={40},
extra y tick labels={0},
legend pos=north west,
xlabel style={yshift=-0.7cm},
x tick label style={
yshift=-0.2cm,
xshift=0.2cm,
rotate=45,
anchor=east,
},
ymajorgrids,
grid style=dashed,
]
\addplot[
color=blue,
mark=square,
]
coordinates {
(1,50)(2,60)(3,70)(4,80)(5,88)
};
\legend{Legend}
\end{axis}
\end{tikzpicture}