我想用 tikz 制作平衡记分卡图表。有示例吗?
答案1
以下是使用一些原始(非花哨)表格的尝试,pstricks
。 它用pst-node
建立节点连接。
提供了两个命令:
\Scorecard{<box>}{<title>}{<subtitle>}{<heading1>}{<column1>}{<column2}
和
\Vision{<box>}{<title>}{<vision>}
前者构建一个“记分卡” tabular
,将参数#2
-放置#6
在适当的位置,并将其存储在 中。后一个命令以类似的方式<box>
创建“愿景” 。定位是相对于 进行的。tabular
\Vision
\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}