6

I want to make a Balanced Scorecard diagram in tikz. Is there an example already?

Balanced Scorecard by Robert S. Kaplan and Dave P. Norton. Harvard Business School Press. 1996

iceman
  • 1,213
  • 6
    This wouldn't be very hard to do in TikZ, although I doubt someone has this exact thing lying around in a TikZ version. I would suggest you look around the site for examples on flow or block diagrams to get you started. Then you'll be able to ask more specific questions if you encounter any problems. – Jake Nov 08 '11 at 09:09
  • A good place to start is probably TeXamples – Count Zero Nov 08 '11 at 10:03
  • I can use tex for the tables(not necessarily that fancy), but how to align the tables with the arrows using tikz? – iceman Nov 08 '11 at 22:22
  • @iceman: I would create the whole thing inside a tikzpicture environment. You can then put the tabular environments into nodes (\node (A) at (0,0) {\begin{tabular}...\end{tabular}};), position the nodes relative to each other by loading the positioning library (\usetikzlibrary{positioning}) and then using expressions like \node (B) [below left=of A] {...}), and draw curved arrows by using something like \draw [line width=0.1cm, out=180, in=90] (A) to (B);. – Jake Nov 08 '11 at 23:10

1 Answers1

14

Here is an attempt using some primitive (non-fancy) tables and pstricks. It uses pst-node to set up node connections.

Two commands are provided:

\Scorecard{<box>}{<title>}{<subtitle>}{<heading1>}{<column1>}{<column2}

and

\Vision{<box>}{<title>}{<vision>}

The former constructs a "Scorecard" tabular, placing arguments #2-#6 in the appropriate positions, and stores it in <box>. The latter command creates the "Vision" tabular in a similar way. Positioning is done relative to \Vision.

enter image description here

\documentclass{article}
\usepackage{lmodern}% http://ctan.org/pkg/lmodern
\usepackage{pst-node}% http://ctan.org/pkg/pst-node
\usepackage{colortbl}% http://ctan.org/pkg/colortbl
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\begin{document}

% ======= TABLE SETUP =======
\pagestyle{empty} \sffamily
\newlength{\columnwidths} \setlength{\columnwidths}{0.2\textwidth}
\newlength{\visionwidth} \setlength{\visionwidth}{0.3\textwidth}
\renewcommand{\arraystretch}{1.1}
\newcommand{\StrategicGoals}{Strategic Goals}
\newcommand{\Actions}{Actions}
\newcommand{\Measures}{Measures}
\newcommand{\Scorecard}[6]{%
  \begin{lrbox}{#1}
    \begin{tabular}{|p{\columnwidths}@{}|@{}p{\columnwidths}|}
      \hline
      \multicolumn{2}{|p{2\columnwidths}|}{\centering\cellcolor{gray!25}\textbf{#2}} \\
      \multicolumn{2}{|p{2\columnwidths}|}{\centering\cellcolor{gray!25}\small\itshape #3} \\
      \hline
      \multicolumn{2}{|p{2\columnwidths}|}{\centering\cellcolor{gray!15}#4} \\
      \hline
      \multicolumn{2}{|p{2\columnwidths}|}{} \\
      \hline
      \multicolumn{1}{|c|}{#5} & \multicolumn{1}{c|}{#6} \\
      \hline
      & \\ \hline & \\ \hline & \\ \hline & \\ \hline
    \end{tabular}
  \end{lrbox}
}
\newcommand{\VisionTitle}{Vision}
\newcommand{\Vision}[3]{%
  \begin{lrbox}{#1}
    \begin{tabular}{|c|}
      \hline
      \multicolumn{1}{|p{\visionwidth}|}{\cellcolor{gray!25}\centering \textbf{#2}} \\
      \hline
      \multicolumn{1}{|p{\visionwidth}|}{\centering #3} \\
      \hline
    \end{tabular}
  \end{lrbox}
}

% ======= DEFINE TABLES (BOXES) =======
\newsavebox{\FinancialPerspective}%
\Scorecard%
  {\FinancialPerspective}% box
  {Financial Perspective}% title
  {To achieve our goals, how should we appear to our stakeholders?}% subtitle
  {\StrategicGoals}% heading 1
  {\Actions}% column 1
  {\Measures}% column 2

\newsavebox{\BusinessProcessPerspective}%
\Scorecard%
  {\BusinessProcessPerspective}% box
  {Business Process Perspective}% title
  {To satisfy our customers and stakeholders, what business process must we excel at?}% subtitle
  {\StrategicGoals}% heading 1
  {\Actions}% column 1
  {\Measures}% column 2

\newsavebox{\CustomerPerspective}%
\Scorecard%
  {\CustomerPerspective}% box
  {Customer Perspective}% title
  {To achieve our vision, how should we appear to our customers?}% subtitle
  {\StrategicGoals}% heading 1
  {\Actions}% column 1
  {\Measures}% column 2

\newsavebox{\LearningGrowthPerspective}%
\Scorecard%
  {\LearningGrowthPerspective}% box
  {Learning \& Growth Perspective}% title
  {To achieve our vision, how will we sustain our ability to change and improve?}% subtitle
  {\StrategicGoals}% heading 1
  {\Actions}% column 1
  {\Measures}% column 2

\newsavebox{\VisionBox}%
\Vision%
  {\VisionBox}% box
  {\VisionTitle}% title
  {\rule{0pt}{50pt}}% vision

\begin{pspicture}(10,10)
  % Draw boxes
  \rput(5,5){\psDefBoxNodes{VB}{\usebox{\VisionBox}}}%
  \uput{5em}[u]{0}(VB:tC){\psDefBoxNodes{FP}{\usebox{\FinancialPerspective}}}%
  \uput{5em}[l]{0}(VB:Cl){\psDefBoxNodes{BPP}{\usebox{\BusinessProcessPerspective}}}%
  \uput{5em}[d]{0}(VB:bC){\psDefBoxNodes{LGP}{\usebox{\LearningGrowthPerspective}}}%
  \uput{5em}[r]{0}(VB:Cr){\psDefBoxNodes{CP}{\usebox{\CustomerPerspective}}}%

  % Draw connections
  \psset{linewidth=5pt,linecolor=gray!50,arcangle=30,nodesep=5pt}
  \ncarc{<->}{FP:Cr}{CP:tC}% NE
  \ncarc{<->}{CP:bC}{LGP:Cr}% SE
  \ncarc{<->}{LGP:Cl}{BPP:bC}% SW
  \ncarc{<->}{BPP:tC}{FP:Cl}% NW
  \ncline{<->}{VB:Cr}{CP:Cl}% E
  \ncline{<->}{VB:bC}{LGP:tC}% S
  \ncline{<->}{VB:Cl}{BPP:Cr}% W
  \ncline{<->}{VB:tC}{FP:bC}% N
\end{pspicture}
\end{document}
Moriambar
  • 11,466
Werner
  • 603,163