
Wenn ich mache
\draw (1,1) circle (1pt)
Zeichnen Sie mit Tikz einen kleinen Kreis mit einem Durchmesser 1pt
von (1,1)
.
Wie kann ich einen Pfad cross
so definieren, dass
\draw (1,1) cross (1pt)
zeichnet ein kleines Kreuz mit Durchmesser 1pt
(in der Größe einstellbar genau wie der Kreis)?
Antwort1
cross
Der entsprechende Befehl circle
existiert nicht in, TiKZ
aber Sie können einen cross out
Knoten aus shapes.misc
der Bibliothek verwenden. Diese Art von Knoten fügt den Text eines Crossover-Knotens hinzu, aber es ist einfach, ihn an Ihre Wünsche anzupassen.
\tikzset{cross/.style={cross out, draw,
minimum size=2*(#1-\pgflinewidth),
inner sep=0pt, outer sep=0pt}}
Da circle (1pt)
ein Kreis mit Radius=1pt gezeichnet wird, beträgt seine Gesamtgröße 2pt. Dann cross
wird die Knotengröße mit minimum size=2*(#1-\pgflinewidth)
und definiert inner
und outer
die Abstände auf festgelegt 0pt
.
Wenn der Kreuzwinkel nicht das ist, was Sie möchten, können Sie ihn mit rotate
der Option ändern. Als Nächstes haben Sie einige Beispiele. Ich habe circles
sie auch darüber gelegt, um zu zeigen, dass Kreis und Kreuze gleich groß sind.
\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{shapes.misc}
\tikzset{cross/.style={cross out, draw=black, minimum size=2*(#1-\pgflinewidth), inner sep=0pt, outer sep=0pt},
%default radius will be 1pt.
cross/.default={1pt}}
\begin{document}
\begin{tikzpicture}[]
\draw (0,0) circle (1pt);
\draw (.5,0) node[cross,rotate=10] {};
\draw (.5,0) circle (1pt);
\draw (0,.5) circle (1pt);
\draw (0,.5) node[cross,red] {};
\draw (.5,.5) node[cross,rotate=30] {};
\draw (0.25,.25) circle (2pt);
\draw (0.25,.25) node[cross=2pt,rotate=45,green]{};
\end{tikzpicture}
\end{document}
Antwort2
Alternative Lösung mit pic
:
\documentclass[]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\tikzset{
cross/.pic = {
\draw[rotate = 45] (-#1,0) -- (#1,0);
\draw[rotate = 45] (0,-#1) -- (0, #1);
}
}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle (1pt);
\path (.5,0) pic[rotate = 10] {cross=1pt};
\draw (.5,0) circle (1pt);
\draw (0,.5) circle (1pt);
\path (0,.5) pic[red] {cross=1pt};
\draw (.5,.5) pic[rotate = 30] {cross=1pt};
\draw (0.25,.25) circle (2pt);
\draw (0.25,.25) pic[rotate=45,green] {cross=2pt};
\end{tikzpicture}
\end{document}
Antwort3
An der jeweiligen Stelle können Sie ein „x“ schreiben:
\draw (1,1) node {x};
Sie können die Größe dann mithilfe der Schriftgrößen wie folgt anpassen:
\draw (1,1) node {\Huge x};
Der Mittelpunkt des „x“ liegt tatsächlich genau an den angegebenen Koordinaten.