비교적 간단한 수직선 차트를 그리려고 하는데 노드 중 하나가 플롯 가장자리에 너무 가까우면 잘립니다.
코드:
\documentclass{article}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=\columnwidth,
axis y line=none,
axis lines=left,
axis line style={-},
xmin=0,
xmax=1,
ymin=0,
ymax=1,
xlabel=$\mu$,
scatter/classes={o={mark=*}},
restrict y to domain=0:1,
xtick={0,1}
]
\draw[ultra thin] (axis cs:0, 0) -- (axis cs:0,.05);
\draw[ultra thin] (axis cs:.4, 0) -- (axis cs:.4,.05);
\node[coordinate,label=above:{$B$}] at (axis cs:0.0,0.05) {};
\node[coordinate,label=above:{$A$}] at (axis cs:0.4,0.05) {};
\node[coordinate,label=above:{$b$}] at (axis cs:0.2,0.02) {};
\node[coordinate,label=above:{$a$}] at (axis cs:0.7,0.02) {};
\end{axis};
\end{tikzpicture}
\end{document}
결과:
B를 완전히 렌더링하려면 어떻게 해야 합니까?
답변1
기본적으로 axis
경계 상자 내부의 모든 경로는 잘립니다. 이것이 B를 자르는 것입니다. 클리핑을 끄려면 clip=false
축 옵션에 추가하세요.
클리핑은 섹션에서 논의됩니다.4.19.2 클리핑~의매뉴얼(2013-03-07자 버전 1.8의 경우 pgfplots
).
의견에서 Jake가 언급했듯이 버전 1.8에서는 플롯 라인을 자르지만 일반 노드는 자르지 않는 pgfplots
키가 도입되었습니다.clip mode=individual
\documentclass{article}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=\columnwidth,
axis y line=none,
axis lines=left,
axis line style={-},
xmin=0,
xmax=1,
ymin=0,
ymax=1,
xlabel=$\mu$,
scatter/classes={o={mark=*}},
restrict y to domain=0:1,
xtick={0,1},
clip=false % <-- new addition
% clip mode=individual % alternative
]
\draw[ultra thin] (axis cs:0, 0) -- (axis cs:0,.05);
\draw[ultra thin] (axis cs:.4, 0) -- (axis cs:.4,.05);
\node[coordinate,label=above:{$B$}] at (axis cs:0.0,0.05) {};
\node[coordinate,label=above:{$A$}] at (axis cs:0.4,0.05) {};
\node[coordinate,label=above:{$b$}] at (axis cs:0.2,0.02) {};
\node[coordinate,label=above:{$a$}] at (axis cs:0.7,0.02) {};
\end{axis};
\end{tikzpicture}
\end{document}