Kreuze in Tikz zeichnen

Kreuze in Tikz zeichnen

Wenn ich mache

\draw (1,1) circle (1pt)

Zeichnen Sie mit Tikz einen kleinen Kreis mit einem Durchmesser 1ptvon (1,1).

Wie kann ich einen Pfad crossso definieren, dass

\draw (1,1) cross (1pt)

zeichnet ein kleines Kreuz mit Durchmesser 1pt(in der Größe einstellbar genau wie der Kreis)?

Antwort1

crossDer entsprechende Befehl circleexistiert nicht in, TiKZaber Sie können einen cross outKnoten aus shapes.miscder 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 crosswird die Knotengröße mit minimum size=2*(#1-\pgflinewidth)und definiert innerund outerdie Abstände auf festgelegt 0pt.

Wenn der Kreuzwinkel nicht das ist, was Sie möchten, können Sie ihn mit rotateder Option ändern. Als Nächstes haben Sie einige Beispiele. Ich habe circlessie 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}

Bildbeschreibung hier eingeben

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}

Bildbeschreibung hier eingeben

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.

verwandte Informationen