이와 같은 대상을 그리는 방법은 무엇입니까?

이와 같은 대상을 그리는 방법은 무엇입니까?

통계에서 일부 자극기 속성을 표시하고 싶습니다. 저는 LaTeX 초보자이므로 도움이 필요합니다.

구함

답변1

이런 종류의 다이어그램은 다음을 사용하여 그리는 것이 매우 쉽습니다.티크즈/pgf. 광범위하고 잘 작성된 매뉴얼이 있으므로 이를 읽으면 수행해야 할 작업에 대한 좋은 아이디어를 얻을 수 있습니다. 다음은 시작하는 데 도움이 되는 유사한 예입니다.

\documentclass[border=5mm,tikz]{standalone}
\usepackage{mwe}
\usepackage{tikz}
\begin{document}

  \begin{tikzpicture}
    \draw (0,0) circle[radius=1];
    \draw[red] (0,0) circle[radius=2];
    \draw[blue] (0,0) circle[radius=3];
    \foreach \x in {-1,0,1} {
      \foreach \y in {-1,0,1} {
        \node[fill=white] at (\x,\y) {x};
      }
    }
  \end{tikzpicture}

\end{document}

그러면 다음 그림이 생성됩니다.

여기에 이미지 설명을 입력하세요

x특정 좌표 목록에 을 그리려면 다음과 같은 방법을 사용하는 것이 가장 쉬운 방법입니다.

\foreach \x/\y in {-1/1,0/1,-1/0,-1/0,0/0,1/0,-1/-1,0/-1,-1/-1} {
    \node[fill=white] at (\x,\y) {x};
}

실제로 이는 위 예제의 코드와 동일합니다.

답변2

이런 것도 멋지게 그릴 수 있어요메타포스트, 학습을 즐길 수 있습니다. 여기서는 normaldeviate적절한 무작위 대상 히트를 생성하기 위해 내장된 명령을 사용했습니다 .

여기에 이미지 설명을 입력하세요

prologues := 3;
outputtemplate := "%j%c.eps";
beginfig(1);
numeric s;
picture target, cross;
s = 24;
target = image(for r=1 upto 3: draw fullcircle scaled (r*s); endfor);
cross  = image(draw (left--right) rotated 45; draw (left--right) rotated -45;);
picture A, B, C, D;
A = target shifted (-2s,+2s);
B = target shifted (+2s,+2s);
C = target shifted (-2s,-2s);
D = target shifted (+2s,-2s);

% mark "n" hits centered at "p" with "r" degree of scattering
vardef mark_hits(expr n, p, r) = 
  for i=1 upto n:
     draw cross shifted p shifted (r * normaldeviate, r * normaldeviate);
  endfor
enddef;

draw A; mark_hits(12, center A, 3); 
draw B; mark_hits(12, center B, 12);
draw C; mark_hits(12, center C shifted (-s/2,s/2), 3);
draw D; mark_hits(12, center D shifted (s/2,-s/2),12);

label.bot("(a)", 1/2[llcorner A, lrcorner A]);
label.bot("(b)", 1/2[llcorner B, lrcorner B]);
label.bot("(c)", 1/2[llcorner C, lrcorner C]);
label.bot("(d)", 1/2[llcorner D, lrcorner D]);

setbounds currentpicture to bbox currentpicture scaled 1.05;

endfig;


end

관련 정보