このようなターゲットを描くにはどうすればいいでしょうか?

このようなターゲットを描くにはどうすればいいでしょうか?

統計におけるスティメータの特性をいくつか示したいと思います。私は LaTeX の初心者なので、助けが必要です。

望んだ

答え1

このような図は、tikz/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

関連情報