Interesting, here a test of the commands, according to what I found that the dimension of the shapes in text nodes, in this case circle, depends on the text_node_content_shape_dimmension + the_internal_separation (inner sep); as it defines itself the minimum size, it would only define the size if the dimension of the text + the internal separation are less than the minimum size; In this way, if we want to ensure that the dimension of the shape is determined by the minimum size, the value of the internal separation must subtract from the value corresponding to the text so that both summations are lower than the minimun size.
RESULT: Multiple option-results to see how the controls works for shape size even if it contains text.

MWE:
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[
>={Stealth[inset=0pt,length=2pt]},
line width=0.1pt,
fill opacity=0.2,
text opacity=1,
]
%Grid in pt units
\draw[black!30,step=1pt] (0,0) grid (30pt,-120pt);
\draw[black!80,step=10pt,line width=0.2pt] (0,0) grid (30pt,-120pt);
\draw[|-|,line width=0.2pt] (0,0)++(0,3pt)-- ++(10pt,0) node[midway](n){};
\draw[<-] (n.center) |- ++(10pt,5pt) node [anchor=180, inner sep=0pt]{\tiny \verb+10pt+};
%Drawing a shape
\draw[fill]
(15pt,-5pt)
circle (3pt)
++ (15pt,0)
node[anchor=180, font=\tiny]{\verb+\draw[fill](x,y) circle (3pt);+};
%Drawing a node
\draw[blue]
(15pt,-15pt)
node [fill,draw,circle,label=below left:$x$]{}
++(15pt,0)
node[anchor=180, font=\tiny]{\verb+\node[fill,draw,circle,label=below left:$x$]at(x,y){};+};
\draw[blue!50!cyan]
(15pt,-25pt)
node [fill,draw,circle,label=below left:$x$] {$x$}
++(15pt,0)
node[anchor=180, font=\tiny]{\verb+\node[fill,draw,circle,label=below left:$x$]at(x,y){$x$};+};
\draw[green!50!blue]
(15pt,-35pt)
node [fill,draw,circle,label=below left:$x$, inner sep=0pt] {$x$}
++(15pt,0)
node[anchor=180, font=\tiny]{\verb+\node[fill,draw,circle,label=below left:$x$,inner sep=0pt]at(x,y){$x$};+};
\draw[green!50!black]
(15pt,-45pt)
node [fill,draw,circle,label=below left:$h$, inner sep=0pt] {$h$}
++(15pt,0)
node[anchor=180, font=\tiny]{\verb+\node[fill,draw,circle,label=below left:$h$,inner sep=0pt]at(x,y){$h$};+};
\draw[green!50!orange]
(15pt,-55pt)
node [fill,draw,circle,label=below left:$h$,inner sep=-1pt] {$h$}
++(15pt,0)
node[anchor=180, font=\tiny]{\verb+\node[fill,draw,circle,label=below left:$h$,inner sep=-1pt]at(x,y){$h$};+};
\draw[orange]
(15pt,-65pt)
node [fill,draw,circle,label=below left:$h$,minimum size=6pt] {$h$}
++(15pt,0)
node[anchor=180, font=\tiny]{\verb+\node[fill,draw,circle,label=below left:$h$,minimum size=6pt]at(x,y){$h$};+};
\draw[red]
(15pt,-75pt)
node [fill,draw,circle,label=below left:$h$,minimum size=6pt, inner sep=0pt] {$h$}
++(15pt,0)
node[anchor=180, font=\tiny]{\verb+\node[fill,draw,circle,label=below left:$h$,minimum size=6pt,inner sep=0pt]at(x,y){$h$};+};
\draw[red!50!black]
(15pt,-85pt)
node [fill,draw,circle,label=below left:$h$, inner sep=-2] {$h$}
++(15pt,0)
node[anchor=180, font=\tiny]{\verb+\node[fill,draw,circle,label=below left:$h$,inner sep=-2]at(x,y){$h$};+};
\draw[blue!50!black]
(15pt,-95pt)
node [fill,draw,circle,label=below left:$h$,minimum size=6, inner sep=-2] {$h$}
++(15pt,0)
node[anchor=180, font=\tiny]{\verb+\node[fill,draw,circle,label=below left:$h$,minimum size=6,inner sep=-2]at(x,y){$h$};+};
\draw[blue!50!purple]
(15pt,-105pt)
node [fill,draw,circle,label=below left:$h$,minimum size=6, inner sep=-2] {}
++(15pt,0)
node[anchor=180, font=\tiny]{\verb+\node[fill,draw,circle,label=below left:$h$,minimum size=6,inner sep=-2]at(x,y){};+};
\draw[densely dashed]
(12pt,0) -- ++(0,-125pt)
(18pt,0) -- ++(0,-125pt);
\draw[|-|,line width=0.2pt] (0,-120pt)++(12pt,-4pt)-- ++(6pt,0) node[midway](n){};
\draw[<-] (n.center) |- ++(10pt,-5pt) node [anchor=180, inner sep=0pt]{\tiny \verb+6pt+};
\end{tikzpicture}
\end{document}
PSD:
- Result scale is 3.5;
- In the code I use:
\draw[draw_style_opt](coordinate) node[node_style_opt]{node_text_content}; instead \node[node_style_opt] at (coordinate) {node_text_content}; because draw_style_opt affects all styles within command line.
minimum width=3ptto set a minimal width of3pt. However, the node may be larger than that. You could usescale=0.3or so to scale it down. – Aug 13 '18 at 22:18\draw (0,-2) node[minimum size=2cm,draw,circle] {circle};– hpekristiansen Aug 13 '18 at 22:23minimum width. – Aug 13 '18 at 22:24