如何以 tikz 样式更改节点中圆的半径?

如何以 tikz 样式更改节点中圆的半径?

我有以下示例:

\documentclass[]{beamer}
\usetheme{达姆施塔特}
\usepackage{xcolor}
\usepackage{tikz}
\开始{文档}
    \开始{框架}{}
        \begin{tikzpicture}[>=latex]
        \tikzstyle{顶点} = [圆圈, 填充=黑色!10]
        \tikzstyle{选定顶点} = [圆圈, 半径=0.1cm, 填充=红色!30]
        \tikzstyle{边} = [-]

        \node[vertex] (v1) 位于 (3,0) {v1};
        \node[vertex] (v2) 位于 (0,-1) {v2};
        \node[vertex] (v3) 位于 (6,-1) {v3};
        \draw[nedge] (v1) -- (v2);
        \draw[nedge] (v1) -- (v3);
    \结束{tikzpicture}
\结束{框架}
\结束{文档}

我想以 tikz 风格更改顶点半径。该怎么做?谢谢帮助。

答案1

首先,不要使用tikzstyle已弃用的 which,而要使用tikzset。然后,将您的节点定义为circlewith inner sep=0pt(您也可以将外部 sep 设置为 0pt),并使用minimum widthwhich 作为您的节点直径。

最后,您可以像我一样让其他节点样式继承上一个样式。它selected vertex会继承样式中的所有参数vertex,之后您可以添加/替换一些参数(例如此处的填充)。

圆节点 tikzset

\documentclass[]{beamer}
\usetheme{Darmstadt}
\usepackage{xcolor}
\usepackage{tikz}
\begin{document}
    \begin{frame}{}
        \begin{tikzpicture}[>=latex]
        \tikzset
            {
            vertex/.style={circle, inner sep=0pt, outer sep=0pt, minimum width=1cm,fill=black!10},
            selected vertex/.style = {vertex, fill=red!30},
            nedge/.style = {-}
            }

        \node[vertex] (v1) at (3,0) {v1};
        \node[vertex] (v2) at (0,-1) {v2};
        \node[vertex] (v3) at (6,-1) {v3};
        \draw[nedge] (v1) -- (v2);
        \draw[nedge] (v1) -- (v3);
    \end{tikzpicture}
\end{frame}
\end{document}

相关内容