更新:添加内部虚线箭头

更新:添加内部虚线箭头

以下是图表的样子,以及我对所需更改的红色注释我有这个圆形智能图。我请求帮助将其中一个模块置于顶部中央,其余三个模块置于两侧。以下是我所拥有的:

\documentclass[border=10pt]{standalone}
\usepackage{smartdiagram}
\usesmartdiagramlibrary{additions} 
\begin{document}

\RenewDocumentCommand{\smartdiagramconnect}{m m}{%
  \begin{tikzpicture}[remember picture,overlay]
  \foreach \start/\end in {#2}
  \draw[additional item arrow type,#1]
  (\start) to (\end);
  \end{tikzpicture}
}
    \centering
\smartdiagramset{uniform color list=teal!60 for 7 items,
                    back arrow distance=0.75,
                    sequence item border color=black,
                    uniform arrow color=true,
                    arrow color=gray!50!black,
                    circular distance=6cm,
                    font=\normalsize,
                    text width=3.5cm,
                    module minimum width=3.5cm,
                    module minimum height=2.0cm,
                    arrow line width=2.5pt,
                    arrow tip=to,
                 additions={
                additional arrow style=dashed,
                additional arrow color=black,   
                additional arrow line width=2pt,
                          }
                    } 
\smartdiagramadd[circular diagram:clockwise]{
     Step 1: Define the Construct,Step 2: Determine Facets and Generate Narrative \mbox{Descriptions} for Each Facet,Step 3: Determine the Facet Levels and Generate Descriptions to Capture Variation within Each Facet, Step 4: \mbox{Determine} the Structure of the Scenarios,Step 5: \mbox{Developing} the Mapping \mbox{Sentences} and \mbox{Constructing} the Scenarios,Step 6: Decide on the Response Options and Survey Instructions, Step 7: Testing Congruence of \mbox{Theory} and Practice
    }
    {}
    \smartdiagramconnect{->, shorten <=8pt, shorten >=8pt, bend left=30,}{module2/module1}
      \smartdiagramconnect{->, shorten <=8pt, shorten >=8pt, bend left=30,}{module7/module6, module6/module5, module5/module4}

\end{document}

我尝试更改文本顺序,但即使我将步骤 1 的文本放在步骤 2 的框上,它也不会在 12 点钟位置居中

答案1

模块的定位在smartdiagram包中是硬编码的,如果您的请求是强制性的,您必须要求其维护者将这种可能性添加到其包中。您可以在手册中找到他的电子邮件地址。

这是使用 TikZ 编码的版本chain。它是参数化并允许您显示任何正多边形,例如多面随心所欲。您也可以选择模块 1 的位置内半径多边形。

ps:就我个人而言,我并不认为将模块 1 到 12 小时的放置比包本身所做的更美观smartdiagram

更新:添加内部虚线箭头

在这个例子中,我将整个多边形链称为(polygon)。第一个节点称为(polygon-1);第二个节点称为(polygon-2),依此类推。这对应于模块smartdiagram。要绘制箭头,我们使用经典的 TikZ 代码。由于它是一个节点(即一个充满文本的框),我们可以通过使用语法(polygon-1.east)或来判断箭头应该从哪里开始和结束(polygon-1.90)。这称为锚点。

箭头的曲率由参数决定bend left=40,我把不同的曲率bend left=30bend left=10这样你就能看到这个曲率。

我引用了节点被调用的手册(s),然后你看到了(s.10)(s.east),等等。

形状 矩形 此形状是标准形状,是文本周围的矩形。内部和外部分隔(参见第 17.2.3 节)影响文本周围的空白。下图显示了此形状定义的锚点;锚点10> 和130是边界锚点的示例。

截屏

翻译www.DeepL.com/Translator(免费版)

截屏

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary {chains}
%\usetikzlibrary{arrows.meta}

\begin{document}

\def\nbcote{7}% number of side
\def\startmodule{90}% position of module 1
\def\rayon{6.5cm}%<- radius of polygon
\definecolor{teal}{RGB}{0,128,128}

\tikzset{every node/.style={on chain,text width=3.5cm,draw,rounded corners,minimum width=3.5cm,minimum height=2.8cm,top color=white,bottom color=teal!60
}}

\begin{tikzpicture}[start chain= polygon placed {at=({\startmodule+(\tikzchaincount-1)*(-360/\nbcote)}:\rayon)}]
\foreach \texte [count=\i from 1]in 
  {Step 1: Define the Construct,Step 2: Determine Facets and Generate Narrative \mbox{Descriptions} for Each Facet,Step 3: Determine the Facet Levels and Generate Descriptions to Capture Variation within Each Facet, Step 4: \mbox{Determine} the Structure of the Scenarios,Step 5: \mbox{Developing} the Mapping \mbox{Sentences} and \mbox{Constructing} the Scenarios,Step 6: Decide on the Response Options and Survey Instructions, Step 7: Testing Congruence of \mbox{Theory} and Practice}
    {\node [] {\texte};
    }

%\draw (0,0) circle (\rayon);% <- circle inscribed in the polygon

\foreach \i [evaluate={
            \next=int(1+mod({\i},\nbcote));}] 
        in {1,...,\nbcote}{
\draw[->,line width=2pt] (polygon-\i)to[bend left=10](polygon-\next);
}
\draw [->,line width=2pt,dashed] (polygon-7) to [bend left=10] (polygon-6);
\draw [->,line width=2pt,dashed] (polygon-6.east) to [bend left=30] (polygon-5.60);
\draw [->,line width=2pt,dashed] (polygon-5.40) to [bend left=40] (polygon-4.130);
\end{tikzpicture}
\end{document}

第一个答案:

截屏

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary {chains}
%\usetikzlibrary{arrows.meta}

\begin{document}

\def\nbcote{7}% number of side
\def\startmodule{90}% position of module 1
\def\rayon{6.5cm}%<- radius of polygon
\definecolor{teal}{RGB}{0,128,128}

\tikzset{every node/.style={on chain,text width=3.5cm,draw,rounded corners,minimum width=3.5cm,minimum height=2.8cm,top color=white,bottom color=teal!60
}}

\begin{tikzpicture}[start chain= polygon placed {at=({\startmodule+(\tikzchaincount-1)*(-360/\nbcote)}:\rayon)}]
\foreach \texte [count=\i from 1]in 
  {Step 1: Define the Construct,Step 2: Determine Facets and Generate Narrative \mbox{Descriptions} for Each Facet,Step 3: Determine the Facet Levels and Generate Descriptions to Capture Variation within Each Facet, Step 4: \mbox{Determine} the Structure of the Scenarios,Step 5: \mbox{Developing} the Mapping \mbox{Sentences} and \mbox{Constructing} the Scenarios,Step 6: Decide on the Response Options and Survey Instructions, Step 7: Testing Congruence of \mbox{Theory} and Practice}
    {\node [] {\texte};
    }

%\draw (0,0) circle (\rayon);% <- circle inscribed in the polygon

\foreach \i [evaluate={
            \next=int(1+mod({\i},\nbcote));}] 
        in {1,...,\nbcote}{
\draw[->,line width=2pt] (polygon-\i)to[bend left=10](polygon-\next);
}

\end{tikzpicture}
\end{document}

答案2

轮图我写的包,可以使用。

节点在 key 中定义slices。宏\WCcount给出了切片的当前编号。

在此处输入图片描述

\documentclass[border=6pt]{standalone}
\usepackage{wheelchart}
\begin{document}
\begin{tikzpicture}
\wheelchart[
  data=,
  radius={5}{5},
  slices={;\node[
    bottom color=teal!60,
    top color=teal!10,
    rounded corners,
    draw=gray,
    align=center,
    minimum width=3.5cm,
    minimum height=2.0cm
  ] (WCslice\WCcount) {Step \WCcount: \WCvarA};},
  slices style={},
  start half,
  value=1
]{%
  Define\\the Construct,
  Determine\\Facets and Generate\\Narrative Descriptions\\for Each Facet,
  Determine\\the Facet Levels and\\Generate Descriptions\\to Capture Variation\\within Each Facet,
  Determine\\the Structure of\\the Scenarios,
  Developing\\the Mapping\\Sentences and\\Constructing\\the Scenarios,
  Decide on the\\Response Options and\\Survey Instructions,
  Testing\\Congruence of\\Theory and Practice%
}
\foreach\n in {1,...,7}{
  \pgfmathsetmacro{\k}{int(Mod(\n,7)+1)}
  \draw[->,line width=2pt] (WCslice\n) to[bend left=10] (WCslice\k);
}
\foreach\n in {2,5,6,7}{
  \pgfmathsetmacro{\k}{int(Mod(\n-2,7)+1)}
  \draw[->,line width=2pt,dashed] (WCslice\n) to[bend left=10] (WCslice\k);
}
\end{tikzpicture}
\end{document}

答案3

根据您的要求,最后一个箭头被禁用

circular final arrow disabled=true,

在此处输入图片描述

\documentclass[12pt]{article} 
\usepackage{smartdiagram}
\usesmartdiagramlibrary{additions} % library to create annotations 
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{arrows,quotes,calc,decorations.text,positioning} 

\begin{document} 
\smartdiagramset{
               uniform color list=orange!60!yellow for 5 items,
               circular final arrow disabled=true,
               circular distance=2.25cm,
               arrow tip=to,
               arrow line width=2pt,
additions={
            additional item bottom color=orange!60!yellow,
            additional item border color=gray,
            additional item shadow=drop shadow,
            additional item offset=1cm,
            additional arrow line width=2pt,
            additional arrow tip=to,
            additional arrow color=orange!60!yellow,
            }
}
\smartdiagramadd[circular diagram:clockwise]{
                                             aa,bb,cc,dd,ee
                                            }{above of module1/ADD}
\smartdiagramconnect{to-}{module1/additional-module1}
\end{document}

相关内容