나는 이 작고 불쾌한 문제를 극복할 수 없다. 사용하여 \ifnum
내 pgfplot의 좌표 주위에 레이블 위치를 설정했습니다. 이것은 잘 작동합니다하지만:
\coordindex
변수가 특정 값보다 크거나 작은지 테스트할 수만 있습니다 . 인덱스가 숫자와 같은지 테스트하고 싶습니다. \ifnum\coordindex=0
처음에 사용할 경우 Tex에서 이런 오류가 발생합니다 .
누락됨 = \ifnum에 삽입되었습니다. \end{축}
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}
\pgfplotsset{
name nodes near coords/.style={
every node near coord/.append style={
anchor=center, %
name=#1\coordindex, % naming of npdes with running index
alias=#1last,
},
},
name nodes near coords/.default=coordnode
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[%
width=\textwidth,
height=.3\textheight,
scale mode = scale uniformly,
scale only axis,
xmin=-200,
xmax= 250,
ymin=- 50,
ymax= 400,
axis x line = middle,
axis y line = left,
grid = none,
xtick = {-200, -100, ...,300},
ytick = {-100, 0, ...,400},
minor tick num = 1,
ytick align = outside,
extra x ticks={0},
extra x tick style={grid=major},
xlabel={x / mm},
ylabel={y / mm},
]
\addplot+[
color=orange,
ultra thick,
shape=circle,
nodes near coords={},
every node near coord/.append style={
label={
[black!80, label distance=-1ex]
\ifnum\coordindex<1
5
\else
% \ifnum\coordindex=3
% -135
% \else
180-\coordindex*45
% \fi
\fi
:$p_{\coordindex}$
}
},
name nodes near coords=p
]
table{%
0 0
-79.9393 236.8749
143.0014 350.0007
143.0014 300.0000
200.0008 300.0000
};
\end{axis}
\end{tikzpicture}
\end{document}
나는 또한 ifthen
패키지로 시도했지만 운이 없었습니다. 누구든지 이것에 대한 빠른 해결책을 갖고 있습니까? 내가 도대체 뭘 잘못하고있는 겁니까? 문서에 따르면 이런 일이 발생해서는 안 됩니다.
아마도 여러분 중 한 명은 xlabel이 설정된 것과 같은 방식으로 ylabel을 인쇄하는 방법에 대한 힌트를 가지고 있을 것입니다. y 라벨 바로 위 및/또는 옆에 있습니다.
답변1
이는 다음과 유사합니다.TikZ 스타일 정의 내에서 \ifnum이 작동하지 않는 이유는 무엇입니까?, 그러나 상황은 다릅니다.
처리할 때 label={...}
PGF는 =
; 해결 방법은 이를 숨기는 것입니다.
every node near coord/.append style={
label={
[black!80, label distance=-1ex]
\ifnum\coordindex<1
5
\else
\ifnum\coordindex\equals 3
-135
\else
180-\coordindex*45
\fi
\fi
:$p_{\coordindex}$
}
},
여기서는 \equals
서문에서 다음과 같이 정의됩니다.
\newcommand{\equals}{=}
또 다른 가능성:
every node near coord/.append style={
label={
[black!80, label distance=-1ex]
\numbercompare{\coordindex<1}
{5}
{\numbercompare{\coordindex=3}{-135}{180-\coordindex*45}}%
:$p_{\coordindex}$
}
},
요구하는
\usepackage{expl3}
\ExplSyntaxOn
\cs_set_eq:NN \numbercompare \int_compare:nTF
\ExplSyntaxOff