Tikz: drawing a taxonomy/classification figure - latex

I'm using TikZ for the first time and I don't know how to draw this taxonomy figure.
I only managed to draw 2 columns, with the following code:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,snakes,positioning,shapes.misc}
\begin{document}
\begin{tikzpicture}
\node at (-3,1) [rectangle, aspect=0.5, draw=black!60,fill=black!20, inner sep=3pt, text width=2cm,,align=center](a){text text text};
\node at (-9,-1) [rectangle,draw](b1){text2};
\node at (-8.7,-2) [rectangle,draw](b2){text3};
\node at (-8.7,-3) [rectangle,draw](b3){text4};
\node at (-8.7,-4) [rectangle,draw](b4){text5};
\node at (-8.7,-5) [rectangle,draw](b5){text6};
\draw[->,thick] (a)--(0,0)--(-9,0);
\draw[->,thick] (-9,0)--(b1);
\draw[->,thick] ([xshift=0cm,yshift=0cm]b1.210)|-([]b2.west);
\draw[->,thick] ([xshift=0cm,yshift=0cm]b1.210)|-([]b3.west);
\draw[->,thick] ([xshift=0cm,yshift=0cm]b1.210)|-([]b3.west);
\draw[->,thick] ([xshift=0cm,yshift=0cm]b1.210)|-([]b4.west);
\draw[->,thick] ([xshift=0cm,yshift=0cm]b1.210)|-([]b5.west);
%%%%%%%%%%%%%%%%%%%%%%%
\node at (5,-1) [rectangle,draw](c1){text2};
\node at (4.7,-2) [rectangle,draw](c2){text3};
\node at (4.7,-3) [rectangle,draw](c3){text4};
\draw[->,thick] (a)--(0,0)--(5,0);
\draw[->,thick] (5,0)--(c1);
\draw[->,thick] ([xshift=0cm,yshift=0cm]c1.330)|-([]c2.east);
\draw[->,thick] ([xshift=0cm,yshift=0cm]c1.330)|-([]c3.east);
\end{tikzpicture}
\end{document}

You can use the forest package instead of trying to draw it manually with tikz. Then, it's easier to change the actual content (node, number of columns, etc.):
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{arrows.meta}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={
line width=0.5pt,
draw=black,
fit=rectangle,
edge={color=black,>={Triangle[]}, ->},
if level=0{%
l sep+=1cm,
for descendants={%
calign=first,
},
align=center,
parent anchor=south,
}{%
if level=1{%
parent anchor=south west,
child anchor=north,
tier=three ways,
align=center,
for descendants={%
child anchor=west,
parent anchor=west,
align=left,
anchor=west,
xshift=-20pt,
edge path={
\noexpand\path[\forestoption{edge}]
(!to tier=three ways.parent anchor) |-
(.child anchor)\forestoption{edge label};
},
},
}{}%
},
}
[Drawing Diagrams
[Operational
[Offloading\\method
[Cost\\benefit\\analysis
[Mobility\\management
[Connection\\protocol]
]
]
]
]
[End user
[Incentives
[Presentation\\and usability]
]
]
[Service level
[Performance
[Cloud APIs]
]
]
]
\end{forest}
\end{document}

Related

Change position of l shaped arrows in tikz

I am trying to change the location of the l-shaped arrows in the following chart. Basically I want the arrows coming off of "Regimes of sovereign states" to start lower in the box (lower on the y axis) so that they don't interfere with the "Non-regimes" box. Is there a simple way to do this?
Here's a reproducible example:
\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{graphicx}
\usepackage{pdflscape}
\usepackage{palatino}
\usepackage[table,xcdraw]{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows, positioning}
\tikzstyle{arrow}=[draw, -latex]
\tikzstyle{tblock} = [rectangle, rounded corners, minimum width=4cm, minimum height=3cm,text centered, draw=black, fill=white]
\tikzstyle{autoblock} = [rectangle, rounded corners, minimum width=4cm, minimum height=3cm,text centered, draw=black, fill=gray!20]
\begin{figure}[H]
\caption{Concept Ladder of Regime Types: Residual vs. Substantive Authoritarianism\\}
\vspace*{10mm}
\centering
\begin{tikzpicture}
\node (state) [tblock, text width=3cm] {States of the world};
\node (reg) [tblock, below left= 1cm and .25cm of state, text width=3cm] {Regimes \\ (of sovereign states)};
\node (nonreg) [autoblock, below right= 1cm and .25cm of state, text width=3cm] {Non-regimes \\ (anarchy, foreign \\ occupation, transition)};
\draw [arrow] (state) -- (reg);
\draw [arrow] (state) -- (nonreg);
\node (demone) [tblock, below left=2cm and .25cm of reg, text width=3cm] {Democratic regimes};
\draw [arrow] (reg) -| (demone);
\node (auto) [autoblock, below right=2cm and 4.5cm of reg, text width=3cm] {Authoritarian regimes \\ (substantive authoritarianism)};
\draw [arrow] (reg) -| (auto);
\node (lfs) [autoblock, below = 2cm of reg, text width=3cm] {Limited franchise \\ systems};
\draw [arrow] (reg) -- (lfs);
\node (dfr) [autoblock, below right=2cm and .25cm of reg, text width=3cm] {Dominant faction \\ regimes};
\draw [arrow] (reg) -| (dfr);
\end{tikzpicture}
\end{figure}
\end{document}`
I haven't actually tried anything to fix this because I don't really know where to start. I googled "change length of l shaped arrows tikz" and came up with nothing. If you have any suggestions, I would very much appreciate it.
\tikzstyle is deprecated, use \tikzset instead
your example is missing the float package
\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{graphicx}
\usepackage{pdflscape}
\usepackage{palatino}
\usepackage[table,xcdraw]{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows, positioning}
\tikzset{arrow/.style={draw, -latex}}
\tikzset{tblock/.style={rectangle, rounded corners, minimum width=4cm, minimum height=3cm,text centered, draw=black, fill=white}}
\tikzset{autoblock/.style={rectangle, rounded corners, minimum width=4cm, minimum height=3cm,text centered, draw=black, fill=gray!20}}
\usepackage{float}
\begin{document}
\begin{figure}[H]
\caption{Concept Ladder of Regime Types: Residual vs. Substantive Authoritarianism\\}
\vspace*{10mm}
\centering
\begin{tikzpicture}
\node (state) [tblock, text width=3cm] {States of the world};
\node (reg) [tblock, below left= 1cm and .25cm of state, text width=3cm] {Regimes \\ (of sovereign states)};
\node (nonreg) [autoblock, below right= 1cm and .25cm of state, text width=3cm] {Non-regimes \\ (anarchy, foreign \\ occupation, transition)};
\draw [arrow] (state) -- (reg);
\draw [arrow] (state) -- (nonreg);
\node (demone) [tblock, below left=2cm and .25cm of reg, text width=3cm] {Democratic regimes};
\draw [arrow] (reg.south) -- ++(0,-1cm) -| (demone);
\node (auto) [autoblock, below right=2cm and 4.5cm of reg, text width=3cm] {Authoritarian regimes \\ (substantive authoritarianism)};
\draw [arrow] (reg.south) -- ++(0,-1cm) -| (auto);
\node (lfs) [autoblock, below = 2cm of reg, text width=3cm] {Limited franchise \\ systems};
\draw [arrow] (reg) -- (lfs);
\node (dfr) [autoblock, below right=2cm and .25cm of reg, text width=3cm] {Dominant faction \\ regimes};
\draw [arrow] (reg.south) -- ++(0,-1cm) -| (dfr);
\end{tikzpicture}
\end{figure}
\end{document}

coding the arrows in flowchart

I need to draw the same flowchart as the following image but my problem is that I don't know how to draw the arrow from A-7 (diamond 1) to A-4. I tried using \drawlatex edge (A-4) and a few other solutions but nothing worked. Also I would like to know if can I improve my code .
\documentclass{article}
\usepackage[left=0.5cm,right=1.27cm,top=1.3cm,bottom=1.3cm]{geometry}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
% Required packages
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
calc, chains,
decorations.pathreplacing,%
calligraphy,% had to be after decorations.pathreplacing
positioning,
shapes}
\definecolor{blue1}{RGB}{84,141,212}
\definecolor{blue2}{RGB}{142,180,227}
\definecolor{yellow1}{RGB}{255,229,153}
\definecolor{orange1}{RGB}{255,153,0}
\definecolor{gray1}{RGB}{127,127,127}
\definecolor{gray2}{RGB}{217,217,217}
\begin{document}
\begin{center}
\small
\begin{tikzpicture}[
node distance = 8mm and 12mm,
start chain = A going below,
arr/.style = {-{Triangle[length=3mm, width=6mm]}, line width= 2mm,
draw=blue2, shorten > = 1mm, shorten <=1mm},
BC/.style args = {#1/#2/#3}{
decorate,
decoration={calligraphic brace, amplitude=6pt,
pre =moveto, pre length=1pt,
post=moveto, post length=1pt,
raise=#1,
#2},% for mirroring of brace
very thick,
pen colour={#3} },
N/.style = {draw, semithick, rounded corners,
fill=#1,draw=blue2,
minimum height=10mm, text width=80mm,
align=flush center},
N1/.style = {draw, semithick, rounded corners,
fill=#1,
minimum height=10mm, text width=50mm,
align=flush center},
N2/.style={draw,text width=3cm ,text centered,
minimum width=4cm,fill=yellow1,tape, tape bend top=none,tape bend height=1.1mm, tape bend bottom=in and out,
minimum height=1.1cm} ,
N3/.style = {diamond, minimum width=7.5cm, minimum height=4mm, text centered, draw=blue2, fill=blue2},
N4/.style = {rectangle, text width=4cm, minimum height=1cm, text centered ,fill=gray2}]
% main branch
\begin{scope}[nodes={on chain=A, join=by arr}]
\node [N1=blue1,draw=blue1] {ETAPES}; % A-1
\node [N=blue2] {Besoin en RH}; % A-2
\node [N=blue2] {Identification des compétences nécessaires};
\node [N=blue2] {Rédaction de l’offre d’emploi};
\node [N=blue2] { Pré-sélection des candidats};
\node [N=blue2] {Entretien « final »};
\node [N3=blue2] {Candidature validée?};
\node [N=blue2] { Préparation, signature et archivage des documents légaux};
\node [N=blue2] {Formation interne et enregistrement de la formation };
\node [N3=blue2] {Candidature validée?};
\node [N=blue2] {Prise de fonction};
\end{scope}
% nodes on the left side of the main branch
\node [N1=gray1,draw=gray1,
left=19 mm of A-1] (B-1) {ACTEURS};
\node [N4=gray2,draw=gray2,
left=of A-2] (B-2) {Collaborateur };
\node [N4=gray2,draw=gray2,
left=of A-3] (B-3) {Directeur et RQ\&AR };
\coordinate (aux1) at ($(A-4.south west)!0.5!(A-5.north west)$);
\draw[BC=4mm/mirror/gray2] (A-4.west) -- (A-5.west);
\node [N4=gray2,left=of aux1,draw=gray2 ] (B-4) { Agence Interim / Cabinet de recrutement };
\node [N4=gray2,draw=gray2,
left=of A-6] (B-4) {Directeur et RQ\&AR };
\node [N4=gray2,draw=gray2,
left=of A-8] (B-4) {Directeur et RQ\&AR };
\node [N4=gray2,draw=gray2,
left=of A-9] (B-4) {Directeur et RQ\&AR };
\node [N4=gray2,draw=gray2,
left=of A-11] (B-4) {Directeur et RQ\&AR };
% nodes on the right side of thr main branch
\begin{scope}[N/.append style={text width=44mm},
N/.default=yellow1]
\node[N1=yellow1,draw=yellow1, right=18mm of A-1] (C-1) {DOCUMENTS};
\node[N2,draw=yellow1, right=of A-9,text width=5.4cm ] (C-2) {FOR\_MATRICE\_COMPETENCES +
BDD\_DOCS\_RH };
\node[N2,draw=yellow1, right=of A-11] (C-3) {FOR\_FORMATION + BDD\_FORMATIONS};
\end{scope}
%arrows
\end{tikzpicture}
\end{center}
\end{document}
You can use
\draw[red,ultra thick,-latex] (A-7.east) -- ++(1.5,0) |- (A-4) node[near start,anchor=west] {Non};
This first draws a short horizontal line from A-7 to the left and then the |- connects it via vertical and horizontal lines to A-4. Change the value of 1.5 to determine how far the arrow should stick out.
\documentclass{article}
\usepackage[left=0.5cm,right=1.27cm,top=1.3cm,bottom=1.3cm]{geometry}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
% Required packages
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
calc, chains,
decorations.pathreplacing,%
calligraphy,% had to be after decorations.pathreplacing
positioning,
shapes}
\definecolor{blue1}{RGB}{84,141,212}
\definecolor{blue2}{RGB}{142,180,227}
\definecolor{yellow1}{RGB}{255,229,153}
\definecolor{orange1}{RGB}{255,153,0}
\definecolor{gray1}{RGB}{127,127,127}
\definecolor{gray2}{RGB}{217,217,217}
\begin{document}
\begin{center}
\small
\begin{tikzpicture}[
node distance = 8mm and 12mm,
start chain = A going below,
arr/.style = {-{Triangle[length=3mm, width=6mm]}, line width= 2mm,
draw=blue2, shorten > = 1mm, shorten <=1mm},
BC/.style args = {#1/#2/#3}{
decorate,
decoration={calligraphic brace, amplitude=6pt,
pre =moveto, pre length=1pt,
post=moveto, post length=1pt,
raise=#1,
#2},% for mirroring of brace
very thick,
pen colour={#3} },
N/.style = {draw, semithick, rounded corners,
fill=#1,draw=blue2,
minimum height=10mm, text width=80mm,
align=flush center},
N1/.style = {draw, semithick, rounded corners,
fill=#1,
minimum height=10mm, text width=50mm,
align=flush center},
N2/.style={draw,text width=3cm ,text centered,
minimum width=4cm,fill=yellow1,tape, tape bend top=none,tape bend height=1.1mm, tape bend bottom=in and out,
minimum height=1.1cm} ,
N3/.style = {diamond, minimum width=7.5cm, minimum height=4mm, text centered, draw=blue2, fill=blue2},
N4/.style = {rectangle, text width=4cm, minimum height=1cm, text centered ,fill=gray2}]
% main branch
\begin{scope}[nodes={on chain=A, join=by arr}]
\node [N1=blue1,draw=blue1] {ETAPES}; % A-1
\node [N=blue2] {Besoin en RH}; % A-2
\node [N=blue2] {Identification des compétences nécessaires};
\node [N=blue2] {Rédaction de l’offre d’emploi};
\node [N=blue2] { Pré-sélection des candidats};
\node [N=blue2] {Entretien « final »};
\node [N3=blue2] {Candidature validée?};
\node [N=blue2] { Préparation, signature et archivage des documents légaux};
\node [N=blue2] {Formation interne et enregistrement de la formation };
\node [N3=blue2] {Candidature validée?};
\node [N=blue2] {Prise de fonction};
\end{scope}
% nodes on the left side of the main branch
\node [N1=gray1,draw=gray1,
left=19 mm of A-1] (B-1) {ACTEURS};
\node [N4=gray2,draw=gray2,
left=of A-2] (B-2) {Collaborateur };
\node [N4=gray2,draw=gray2,
left=of A-3] (B-3) {Directeur et RQ\&AR };
\coordinate (aux1) at ($(A-4.south west)!0.5!(A-5.north west)$);
\draw[BC=4mm/mirror/gray2] (A-4.west) -- (A-5.west);
\node [N4=gray2,left=of aux1,draw=gray2 ] (B-4) { Agence Interim / Cabinet de recrutement };
\node [N4=gray2,draw=gray2,
left=of A-6] (B-4) {Directeur et RQ\&AR };
\node [N4=gray2,draw=gray2,
left=of A-8] (B-4) {Directeur et RQ\&AR };
\node [N4=gray2,draw=gray2,
left=of A-9] (B-4) {Directeur et RQ\&AR };
\node [N4=gray2,draw=gray2,
left=of A-11] (B-4) {Directeur et RQ\&AR };
% nodes on the right side of thr main branch
\begin{scope}[N/.append style={text width=44mm},
N/.default=yellow1]
\node[N1=yellow1,draw=yellow1, right=18mm of A-1] (C-1) {DOCUMENTS};
\node[N2,draw=yellow1, right=of A-9,text width=5.4cm ] (C-2) {FOR\_MATRICE\_COMPETENCES +
BDD\_DOCS\_RH };
\node[N2,draw=yellow1, right=of A-11] (C-3) {FOR\_FORMATION + BDD\_FORMATIONS};
\end{scope}
%arrows
\draw[red,ultra thick,-latex] (A-7.east) -- ++(1.5,0) |- (A-4) node[near start,anchor=west] {Non};
\end{tikzpicture}
\end{center}
\end{document}

Place boundary of two adjacent nodes on top of each other

If I place two nodes adjacent to each other the resulting boundary between the nodes is doubled making it more thick than other boundarys. Is it possible to place them on top of each other in order to keep the original thickness?
Here my code and below some example pictures:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{figure}
\begin{center}
\begin{tikzpicture}
\tikzstyle{node} = [draw, rectangle, minimum width=1cm]
\node [node] (n_one) {node 1};
\node [node, right = 0cm of n_one.north east, anchor = north west] (n_two) {node 2};
\end{tikzpicture}
\end{center}
\end{figure}
\end{document}
You can shift the right node by one line width:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{figure}
\begin{center}
\begin{tikzpicture}
\tikzstyle{node} = [draw, rectangle, minimum width=1cm]
\node [blue,node] (n_one) {node 1};
\node [red,node, right = -\the\pgflinewidth of n_one.north east, anchor = north west] (n_two) {node 2};
\end{tikzpicture}
\end{center}
\end{figure}
\end{document}
Or you could draw only a single node:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes.multipart}
\begin{document}
\begin{figure}
\begin{center}
\begin{tikzpicture}
\node[
rectangle split,
rectangle split parts=2,
draw,
rectangle split horizontal,
rectangle split part align={center, top, bottom}
] at (0,0) {node 1\nodepart{two}node 2};
\end{tikzpicture}
\end{center}
\end{figure}
\end{document}

Weird diagrams using chains within tikz

I am trying to replicate some diagrams that I made using Microsoft Visio, using the tikz package in LaTeX. The basic diagrams are relatively easy to build, but when it comes to add more than two nodes next to each other, it gets quite tricky... I can't seem to find any documentation that justifies my needs to center and align the nodes like I've done in Visio.
These are the MS Visio diagrams:
But this is what I have got right now, using Tikz:
Here is a minimal reproducible example:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{svg}
\usepackage{amsmath}
\usetikzlibrary{shapes.geometric, arrows, chains}
%%
%%TikZ Settings
\tikzstyle{main} = [rectangle, minimum width=3cm, minimum height=0.6cm,text centered, text width=3cm, draw=black, fill=black!30]
\tikzstyle{arrow} = [thick,->,>=stealth]
\begin{document}
%The "Remediação" diagram
\begin{tikzpicture}[node distance=1.5cm]
\node (principal) [main] {Remediação};
\coordinate[below of=principal] (a);
\begin{scope}[start chain=going right]
\node (rem-vuln-c-patch) [main, on chain, below of=principal, left of=a] {Remediação de Vulnerabilidade Normal com \textit{patch}};
\node (rem-vuln-c-c-patch) [main, on chain] {Remediação de Vulnerabilidade Crítica com \textit{patch}};
\node (rem-vuln-config) [main, on chain] {Remediação de Vulnerabilidade por má configuração};
\node (gest-vuln-s-patch) [main, on chain] {Gestão de Vulnerabilidade sem \textit{patch}};
\end{scope}
\node(gest-risco) [main, align=center, below of=rem-vuln-c-c-patch] {Gestão de Risco};
\draw [arrow] (principal) -| (rem-vuln-c-patch);
\draw [arrow] (principal) -| (rem-vuln-c-c-patch);
\draw [arrow] (principal) -| (rem-vuln-config);
\draw [arrow] (principal) -| (gest-vuln-s-patch);
\draw [arrow] (gest-vuln-s-patch) |- (gest-risco);
\draw [arrow] (gest-risco) -| (rem-vuln-c-patch);
\draw [arrow] (gest-risco) -- (rem-vuln-c-c-patch);
\end{tikzpicture}
% The "Balanço" diagram
\begin{tikzpicture}[node distance=1.5cm]
\node (principal) [main] {Balanço};
\coordinate[below of=principal] (a);
\begin{scope}[start chain=going right]
\node (lic-apr) [main, on chain, below of=principal, left of=a] {Lições aprendidas};
\node (reu-retro) [main, on chain] {Reunião de Retrospetiva};
\node (cri-rel-exec) [main, on chain] {Criação do relatório executivo};
\end{scope}
\draw [arrow] (principal) -| (lic-apr);
\draw [arrow] (principal) -| (reu-retro);
\draw [arrow] (principal) -| (cri-rel-exec);
\end{tikzpicture}
\end{document}
Using a tree might be easier than a chain:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{svg}
\usepackage{amsmath}
\usetikzlibrary{shapes.geometric, arrows, chains,positioning}
%%
%%TikZ Settings
\tikzstyle{main} = [rectangle, minimum width=3cm, minimum height=2cm,text centered, text width=3cm, draw=black, fill=black!30]
\tikzstyle{arrow} = [thick,->,>=stealth]
\begin{document}
%The "Remediação" diagram
\begin{tikzpicture}[
level distance=3cm,
sibling distance=4cm,
edge from parent path={[thick,->](\tikzparentnode.south) -- ++(0,-1cm) -| (\tikzchildnode.north)}
]
\node[main,minimum height=0.6cm] (principal) {Remediação}
child { node[main] (rem-vuln-c-c-patch) {Remediação de Vulnerabilidade Crítica com \textit{patch}} }
child { node[main] (rem-vuln-c-patch) {Remediação de Vulnerabilidade Normal com \textit{patch}} }
child { node[main] (rem-vuln-config) {Remediação de Vulnerabilidade por má configuração} }
child { node[main] (gest-vuln-s-patch) {Gestão de Vulnerabilidade sem \textit{patch}} };
\node(gest-risco) [main, align=center, below=4.5cm of principal,minimum height=0.6cm] {Gestão de Risco};
\draw[->,thick] (gest-risco) -| (rem-vuln-c-c-patch);
\draw[->,thick] (gest-risco) -| (gest-vuln-s-patch);
\draw[->,thick] ([xshift=-1.0cm]gest-risco.north) -| ([xshift=1.8cm]rem-vuln-c-patch);
\end{tikzpicture}
\end{document}

How to insert special symbol in a picture

I had tried this code and I want the braces in the figure as there are in the attached picture.
\begin{figure}[hbt!]
\begin{center}
\begin{tikzpicture}[
thick,
acteur/.style={
circle,
fill=black,
thick,
inner sep=2pt,
minimum size=0.2cm
}
]
\node (a1) at (-0.3,0.65) [acteur,label=below :\scriptsize{}]{};
\node (a2) at (1,0)[acteur,label=below:\scriptsize{\hspace{0.3cm}$x_{0}$}]{};
\node (a3) at (2,0) [acteur,label=below:\scriptsize{$x_{1}$}]{};
\node (a4) at (3,0) [acteur,label=below:\scriptsize{$x_{2}$}]{};
\node (a5) at (4,0) [acteur,label=above :\scriptsize{}]{};
\node (a6) at (5,0) [acteur,label=below right :\scriptsize{\hspace{-0.9cm}$x_{k-s-t}$}]{};
\node (a7) at (6.5,0) [acteur,label=below:\scriptsize{}]{};
\node (a8) at (-0.3,-0.65) [acteur,label=above:\scriptsize{}]{};
\node (a9) at (0.4,1.3) [acteur,label=above:\scriptsize{}]{};
\node (a10) at (0.4,-1.3) [acteur,label=below:\scriptsize{}]{};
\node (a11) at (6,1) [acteur,label=below:\scriptsize{}]{};
\node (a12) at (6,-1) [acteur,label=below:\scriptsize{}]{};
\node (a13) at (5.3,1.3) [acteur,label=below:\scriptsize{}]{};
\node (a14) at (5.3,-1.3) [acteur,label=below:\scriptsize{}]{};
\draw (a1) -- (a2);
\draw (a2) -- (a9);
\draw (a2) -- (a8);
\draw (a2) -- (a10);
\draw (a2) -- (a3);
\draw (a3) -- (a4);
\draw [dashed] (a4) -- (a5);
\draw (a5) -- (a6);
\draw (a6) -- (a7);
\draw (a6) -- (a11);
\draw (a6) -- (a13);
\draw (a6) -- (a12);
\draw (a6) -- (a14);
\end{tikzpicture}
\end{center}
\caption{\small{The graph $\mathcal{P}(k,s,t)$}}
\end{figure}
You can use the decorations library
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{figure}[hbt!]
\begin{center}
\begin{tikzpicture}[
thick,
acteur/.style={
circle,
fill=black,
thick,
inner sep=2pt,
minimum size=0.2cm
}
]
\node (a1) at (-0.3,0.65) [acteur,label=below :\scriptsize{}]{};
\node (a2) at (1,0)[acteur,label=below:\scriptsize{\hspace{0.3cm}$x_{0}$}]{};
\node (a3) at (2,0) [acteur,label=below:\scriptsize{$x_{1}$}]{};
\node (a4) at (3,0) [acteur,label=below:\scriptsize{$x_{2}$}]{};
\node (a5) at (4,0) [acteur,label=above :\scriptsize{}]{};
\node (a6) at (5,0) [acteur,label=below right :\scriptsize{\hspace{-0.9cm}$x_{k-s-t}$}]{};
\node (a7) at (6.5,0) [acteur,label=below:\scriptsize{}]{};
\node (a8) at (-0.3,-0.65) [acteur,label=above:\scriptsize{}]{};
\node (a9) at (0.4,1.3) [acteur,label=above:\scriptsize{}]{};
\node (a10) at (0.4,-1.3) [acteur,label=below:\scriptsize{}]{};
\node (a11) at (6,1) [acteur,label=below:\scriptsize{}]{};
\node (a12) at (6,-1) [acteur,label=below:\scriptsize{}]{};
\node (a13) at (5.3,1.3) [acteur,label=below:\scriptsize{}]{};
\node (a14) at (5.3,-1.3) [acteur,label=below:\scriptsize{}]{};
\draw (a1) -- (a2);
\draw (a2) -- (a9);
\draw (a2) -- (a8);
\draw (a2) -- (a10);
\draw (a2) -- (a3);
\draw (a3) -- (a4);
\draw [dashed] (a4) -- (a5);
\draw (a5) -- (a6);
\draw (a6) -- (a7);
\draw (a6) -- (a11);
\draw (a6) -- (a13);
\draw (a6) -- (a12);
\draw (a6) -- (a14);
\draw[decorate,decoration={brace,amplitude=10pt}]
(-0.5, -1) -- (-0.5, 1) node[left, midway, xshift = -10pt]{$s$ vertices};
\draw[decorate,decoration={brace,amplitude=10pt}]
(6.5, 1) -- (6.5, -1) node[right, midway, xshift = 10pt]{$t$ vertices};
\end{tikzpicture}
\end{center}
\caption{\small{The graph $\mathcal{P}(k,s,t)$}}
\end{figure}
\end{document}

Resources