Me gustaría crear el siguiente diagrama:
Lo he probado con el siguiente código:
\begin{figure}
\begin{tikzpicture}[scale=1, transform shape]
%\draw[step=0.5cm,gray,very thin] (0,0) grid (12,6);
\node (i) at (1.5,2.5) {\small\textbf{Somoza's Dictatorship}};
\node (ii) at (4.5,5.5) {\small\textbf{Sandinista Revolution}};
\node (iii) at (8,2.5) {\small\textbf{Neoliberalism}};
\node (iv) at (11,5.5) {\small\textbf{Hybrid Model}};
\node (a) at (1.5,4) {1936-1979};
\node (b) at (4.5,2) {1979-1990};
\node (c) at (8,4) {1990-2007};
\node (d) at (11,2) {2007-Present};
\end{tikzpicture}
\caption{Political Context of Nicaragua.}
\end{figure}
Sin embargo, no sé cómo puedo incluir el círculo, los colores y las viñetas. Mi resultado es algo como esto a continuación. ¿Hay alguna otra forma de hacerlo? Encontré mi código demasiado difícil y complicado.
Saludos cordiales, Rony.
Respuesta1
Si configura text width
el nodo, puede usar una itemize
lista estándar dentro del nodo. Para hacer círculos grandes, haga un nodo con, por ejemplo, draw,circle,line width=2.5mm
en las opciones.
Posicionar estos nodos es más fácil si usa la positioning
biblioteca y coloca los nodos entre sí. Por ejemplo, si tiene \node (a) {...};
, puede colocar el nodo b
debajo diciendo \node [below=of a] (b) {...};
.
Aquí hay un ejemplo, agregué algunos comentarios en el código:
\documentclass{beamer}
\usetheme{metropolis}
\usepackage{ragged2e}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{frame}[fragile]
\frametitle{Intro}
\begin{tikzpicture}[
bigcircle/.style={ % style for the circles
text width=1.6cm, % diameter
align=center, % center align
line width=2mm, % thickness of border
draw, % draw the border
circle, % shape
font=\sffamily\footnotesize % font of the year
},
desc/.style 2 args={ % style for the list nodes
% this style takes two mandatory arguments, as indicated by "2 args", so is used as
% desc={first arg}{second arc}
% the first arg is the color of the title/heading, the second is the title itself
text width=2.5cm, % means the node will be kind of like a 4cm wide minipage, and if the
% text in the node becomes wider than that, it will wrap to the next line
font=\sffamily\scriptsize\RaggedRight, % set the font in the list
label={[#1,yshift=-1.5ex,font=\sffamily\footnotesize]above:#2} % add the title as a label
},
node distance=10mm and 2mm % vertical and horizontal separation of nodes, when positioned with e.g. above=of othernode
]
\node [bigcircle] (circ1) {1936--1979};
\node [desc={black}{Somoza's dictatorship},below=of circ1] (list1) {
\begin{itemize}
\setlength\itemsep{0pt} % reduce space between items in list
\item Point 1
\item Point 2
\item Point 3
\item Point 4
\end{itemize}
};
\node [bigcircle,red,right=of list1] (circ2) {1979--1990};
\node [desc={red}{Sandinista Revolution},above=of circ2] (list2) {
\begin{itemize}
\setlength\itemsep{0pt}
\item Point 1
\item Point 2
\item Point 3
\item Point 4
\end{itemize}
};
\node [bigcircle,blue!60!red,right=of list2] (circ3) {1990--2007};
\node [desc={blue!60!red}{Neoliberalism},below=of circ3] (list3) {
\begin{itemize}
\setlength\itemsep{0pt}
\item Point 1
\item Point 2
\item Point 3
\item Point 4
\end{itemize}
};
\node [bigcircle,gray,right=of list3] (circ4) {2007--Present};
\node [desc={gray}{Hybrid model},above=of circ4] (h) {
\begin{itemize}
\setlength\itemsep{0pt}
\item Point 1
\item Point 2
\item Point 3
\item Point 4
\end{itemize}
};
% draw the line between circles
\draw [dashed,black!80] (circ1) -- (circ2) -- (circ3) -- (circ4);
\end{tikzpicture}
\end{frame}
\end{document}