Wie kann ich einen halb ausgefüllten Kreis auf meiner Achse zeichnen? Ich möchte, dass die Markierung am Ursprung liegt und die linke Hälfte des Kreises ausgefüllt ist.
\documentclass[12pt,]{article}
\usepackage{graphicx}
\usepackage{pgfplots}
\begin{document}
%what i want my marker to look like
\begin{tikzpicture}
\draw (0,0) circle (1cm);
\clip (0,0) circle (1cm);
\fill[black] (0cm,1cm) rectangle (-1cm,-1cm);
\end{tikzpicture}
%what the graph looks like and the marker looks like
\begin{tikzpicture}
\begin{axis}[
minor tick num=1,
axis x line = center,
axis y line = middle,
xlabel={$x$},
ylabel={$\dot{x}$},
ymin=-5, ymax=5
]
%\draw[thin] (axis cs:1,0) circle [radius=3pt] node[above left] {$(1,0)$};
\draw[fill] (axis cs:0,0) circle [radius=3pt] node[below right] {$(0,0)$};
\addplot [smooth,blue, mark=none,
domain=-5:5] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
Antwort1
Gemäß dem Kommentar von @percusse können Sie mark=halfcircle*
eine Rotation wie (0,0)
unten gezeigt verwenden und anwenden.
Alternativ könnten Sie Ihre Version anpassen und ein benutzerdefiniertes Makro definieren, um dies wie gewünscht zu platzieren (wie unter gezeigt (1,1)
). Dies hat den Vorteil, dass es nicht fill
auf den weißen Teil angewendet wird. Darüber hinaus können Sie diese Technik verwenden, um jeden anderen Markierungstyp zu erstellen, mit dem Sie spezielle Punkte hervorheben möchten.
Code:
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{pgfplots}
\begin{document}
%%what i want my marker to look like
% \begin{tikzpicture}
% \draw (0,0) circle (1cm);
% \clip (0,0) circle (1cm);
% \fill[black] (0cm,1cm) rectangle (-1cm,-1cm);
% \end{tikzpicture}
%
\newcommand{\MyHalfCircle}[3][0.4ex]{%
% #1 = size
% #2 = x coordinate
% #3 = y coordinate
\begin{scope}
\draw (axis cs:#2,#3) circle (#1);
\clip (axis cs:#2,#3) circle (#1);
\fill[red, opacity=0.75] (axis cs:#2,#1) rectangle (axis cs:-#1,-#1);
\end{scope}
}
%what the graph looks like and the marker looks like
\begin{tikzpicture}
\begin{axis}[
minor tick num=1,
axis x line = center,
axis y line = middle,
xlabel={$x$},
ylabel={$\dot{x}$},
ymin=-5, ymax=5
]
\addplot [smooth,blue, mark=none,thick, domain=-5:5] {x^2};
\addplot [mark=halfcircle*, mark options={rotate=90}] coordinates {(0,0)};
\MyHalfCircle{1}{1};
\end{axis}
\end{tikzpicture}
\end{document}