Ich möchte einige Stimulatoreigenschaften in Statistiken anzeigen. Ich bin ein absoluter LaTeX-Anfänger und brauche daher etwas Hilfe.
Antwort1
Diese Art von Diagramm ist ganz einfach zu zeichnen mittikz/pgf. Es gibt ein ausführliches und gut geschriebenes Handbuch, sodass Sie durch das Lesen eine gute Vorstellung davon bekommen sollten, was Sie tun müssen. Hier ist ein ähnliches Beispiel, um Ihnen den Einstieg zu erleichtern:
\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}
Es ergibt sich folgendes Bild:
Wenn Sie an einer bestimmten Liste von Koordinaten zeichnen möchten, x
geht das am einfachsten mit etwas wie:
\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};
}
Tatsächlich entspricht dies dem Code im obigen Beispiel.
Antwort2
So etwas kann man auch schön zeichnen inMetapost, was Ihnen vielleicht Spaß macht. Hier habe ich den integrierten normaldeviate
Befehl verwendet, um einige geeignete zufällige Zieltreffer zu generieren.
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