Нарисовать точки внутри или снаружи многоугольника (TiKZ)

Нарисовать точки внутри или снаружи многоугольника (TiKZ)

Здравствуйте, у меня есть этот график, и я хотел бы нарисовать две точки с координатами (3,1)и (4,4)красным цветом.

\begin{tikzpicture}
\begin{axis}[
    title={Low capacity scenario (Scenary=2)},
    axis x line=bottom,
    axis y line=left,
    xlabel={arrival/15min},
    ylabel={departure/15min},
    xmin=0, xmax=8,
    ymin=0, ymax=8,
    enlargelimits=false
   ]
   \addplot coordinates {
    (0,0)
    (4,0)
    (4,1)
    (3,3)
    (0,4)
    (0,0)
   }; 
   \legend{maximum capacity}
\end{axis}
\end{tikzpicture}}

Как это сделать? Только построить две круглые красные точки внутри уже готового графика? Спасибо за помощь. Я не смог найти похожий график в руководстве.

решение1

Вы можете добавить два участка в нужных вам координатах следующим образом:

\addplot[red,mark=*] coordinates {(3,1)};
\addplot[red,mark=*] coordinates {(4,4)};   

Или добавив еще один участок с draw=noneтакой опцией:

\addplot[draw=none,red,mark=*] coordinates {
   (3,1)
   (4,4)
   };

в том же самом axis, что дает вам следующую цифру:

введите описание изображения здесь

Полный код:

\documentclass{article}
\usepackage{pgfplots}
\begin{document}

\begin{tikzpicture}
\begin{axis}[
    title={Low capacity scenario (Scenary=2)},
    axis x line=bottom,
    axis y line=left,
    xlabel={arrival/15min},
    ylabel={departure/15min},
    xmin=0, xmax=8,
    ymin=0, ymax=8,
    enlargelimits=false
   ]
   \addplot coordinates {
    (0,0)
    (4,0)
    (4,1)
    (3,3)
    (0,4)
    (0,0)
   }; 
   \legend{maximum capacity}
   \addplot[red,mark=*] coordinates {(3,1)};
   \addplot[red,mark=*] coordinates {(4,4)};
\end{axis}
\end{tikzpicture}

\end{document}

решение2

Хотя добавление их через \addplotкоманду является одним из вариантов, вы всегда можете нарисовать эти круги самостоятельно. Если у вас pgfplotsустановлена ​​версия 1.12 и есть строка \pgfplotsset{compat=1.12}в преамбуле, этого будет достаточно:

 \pgfplotsset{compat=1.12}
.
.
.
\fill[red] (3,1) circle (2pt);
\fill[red] (4,4) circle (2pt);

Если у вас версии ниже 1.12, сделайте следующее:

\fill[red] (axis cs: 3,1) circle (2pt);
\fill[red] (axis cs: 4,4) circle (2pt);

Код:

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}

\begin{tikzpicture}
\begin{axis}[
    title={Low capacity scenario (Scenary=2)},
    axis x line=bottom,
    axis y line=left,
    xlabel={arrival/15min},
    ylabel={departure/15min},
    xmin=0, xmax=8,
    ymin=0, ymax=8,
    enlargelimits=false
   ]
   \addplot coordinates {
    (0,0)
    (4,0)
    (4,1)
    (3,3)
    (0,4)
    (0,0)
   };
   \legend{maximum capacity}
   \fill[red] (3,1) circle (2pt);
   \fill[red] (4,4) circle (2pt);
\end{axis}
\end{tikzpicture}

\end{document}

введите описание изображения здесь

Связанный контент