Mein Vorschlag nutzt die Berechnung der Höhe in einem Dreieck, um das Sechseck an die gewünschte Stelle zu verschieben:
\documentclass[tikz, border=5pt]{standalone}
\usetikzlibrary{arrows.meta}
\begin{document}
{\newlength{\hexradius}
\setlength{\hexradius}{1cm}
\begin{tikzpicture}
\draw[-Stealth] (0,-2.5) to node [left] {0} (0,2.5);
\draw[dotted] (0,0) -- (15,0);
\draw[rotate=90, yshift=-(0.5cm+\hexradius*sin(60))]
(0:\hexradius) foreach \angle in {60,120,...,360}{-- (\angle:\hexradius)}
;
\fill[red] (.5,0) circle (2pt);
\end{tikzpicture}}
\end{document}
Entspricht das ungefähr dem, was Du suchst?
Eine andere Möglichkeit wäre der Einsatz der shapes-Bibliothek:
\documentclass[tikz, border=5pt]{standalone}
\usetikzlibrary{arrows.meta, shapes.geometric}
\begin{document}
{\newlength{\hexradius}
\setlength{\hexradius}{1cm}
\begin{tikzpicture}[
hexagon/.style={
draw,
regular polygon,
regular polygon sides=6,
minimum size=2*\hexradius
}
]
\draw[-Stealth] (0,-2.5) to node [left] {0} (0,2.5);
\draw[dotted] (0,0) -- (15,0);
\pgfmathparse{0.5cm+\hexradius*sin(60)}
\node[hexagon, rotate=90] at (\pgfmathresult pt,0) {};
\fill[red] (.5,0) circle (2pt);
\end{tikzpicture}}
\end{document}
Hinweise zur Präambel:
- Die Schriftgröße 10pt ist die Voreinstellung der Standardklasse.
- pgfplots lädt übrigens pgf/TikZ.