我正在尝试制作一个图表,其中绘制数据的最大值和最小值反映在轴上,并且轴线在该值之后停止。虽然有时我希望噪声数据出现在较大/较小的值处。
我尝试按照建议偏移轴这帖子。您可以看到的问题是,在这种情况下,我希望轴从 -0.1 到 -0.7,并在这些位置打勾。问题是,如果您有嘈杂的数据,它会在 ymin 和 ymax 之后被剪裁。
我在底部提供了一个手动编辑的示例。
\documentclass{standalone}
\usepackage{pgfplots}
\newlength\xaxisoffset
\setlength\xaxisoffset{-10pt}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
every non boxed x axis/.style={ %Shifts the x axis downwards
x axis line style={yshift=\xaxisoffset},
xticklabel style={yshift=\xaxisoffset},
xtick style={very thin,yshift=\xaxisoffset},
},
xmin = -.09, xmax=.09,
axis x line=bottom,
axis y line*=left,
ymin = -0.7, ymax = -0.08,
ytick={-.1, -.7},
]
\addplot[smooth, black] table[x=B, y=R_NL] {SV018_RR2B2.dat};
\end{axis};
\end{tikzpicture}
\end{document}
答案1
- 可以通过选项禁用剪辑
clip=false
。 - x 标签的数量级(·10 -2)向下移动两次;
x tick scale label style={yshift=-\xaxisoffset}
进行补偿。
完整示例文件:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\newlength\xaxisoffset
\setlength\xaxisoffset{-40pt}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
clip=false,
every non boxed x axis/.style={% Shifts the x axis downwards
x axis line style={yshift=\xaxisoffset},
xticklabel style={yshift=\xaxisoffset},
x tick scale label style={yshift=-\xaxisoffset},
xtick style={very thin,yshift=\xaxisoffset},
},
xmin = -.09, xmax=.09,
axis x line=bottom,
axis y line*=left,
ymin = -0.7, ymax = -0.1,
ytick={-.1, -.7},
]
\addplot[smooth, black] coordinates {
(-.08, -.5) (-.06, -.8) (-.04, -.5) (-.02, -.7)
(-.0, -.1) (.02, -.4) (.04, -.05) (.06, -.2) (.08, -.75)
};
\end{axis};
\end{tikzpicture}
\end{document}