版权声明:原创禁止转载 https://blog.csdn.net/u013249853/article/details/88168652
我们之前介绍过latex的表格。那么混淆矩阵本质上来讲也是一个表格。怎么简单,快速准确的画出来。
如果先画出来,在插入到论文中,难免会low,而且放缩的话图片会失真。百度上是没有搜索到。所以用google。
首先是不加颜色的,黑白的,使用了Tikz包
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
box/.style={draw,rectangle,minimum size=2cm,text width=1.5cm,align=left}]
\matrix (conmat) [row sep=.1cm,column sep=.1cm] {
\node (tpos) [box,
label=left:\( \mathbf{p'} \),
label=above:\( \mathbf{p} \),
] {True \\ positive};
&
\node (fneg) [box,
label=above:\textbf{n},
label=above right:\textbf{total},
label=right:\( \mathrm{P}' \)] {False \\ negative};
\\
\node (fpos) [box,
label=left:\( \mathbf{n'} \),
label=below left:\textbf{total},
label=below:P] {False \\ positive};
&
\node (tneg) [box,
label=right:\( \mathrm{N}' \),
label=below:N] {True \\ negative};
\\
};
\node [left=.05cm of conmat,text width=1.5cm,align=right] {\textbf{actual \\ value}};
\node [above=.05cm of conmat] {\textbf{prediction outcome}};
\end{tikzpicture}
\end{document}
长这样:
如果是彩色的:
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}
\usepackage[table]{xcolor}
\usepackage{collcell}
\usepackage{hhline}
\usepackage{pgf}
\usepackage{multirow}
\def\colorModel{hsb} %You can use rgb or hsb
\newcommand\ColCell[1]{
\pgfmathparse{#1<50?1:0} %Threshold for changing the font color into the cells
\ifnum\pgfmathresult=0\relax\color{white}\fi
\pgfmathsetmacro\compA{0} %Component R or H
\pgfmathsetmacro\compB{#1/100} %Component G or S
\pgfmathsetmacro\compC{1} %Component B or B
\edef\x{\noexpand\centering\noexpand\cellcolor[\colorModel]{\compA,\compB,\compC}}\x #1
}
\newcolumntype{E}{>{\collectcell\ColCell}m{0.4cm}<{\endcollectcell}} %Cell width
\newcommand*\rot{\rotatebox{90}}
\begin{document}
\newcommand\items{3} %Number of classes
\arrayrulecolor{white} %Table line colors
\noindent\begin{tabular}{cc*{\items}{|E}|}
\multicolumn{1}{c}{} &\multicolumn{1}{c}{} &\multicolumn{\items}{c}{Predicted} \\ \hhline{~*\items{|-}|}
\multicolumn{1}{c}{} &
\multicolumn{1}{c}{} &
\multicolumn{1}{c}{\rot{Class A}} &
\multicolumn{1}{c}{\rot{Class B}} &
\multicolumn{1}{c}{\rot{Class C}} \\ \hhline{~*\items{|-}|}
\multirow{\items}{*}{\rotatebox{90}{Actual}}
&Class A & 100 & 0 & 10 \\ \hhline{~*\items{|-}|}
&Class B & 10 & 80 & 10 \\ \hhline{~*\items{|-}|}
&Class C & 30 & 0 & 70 \\ \hhline{~*\items{|-}|}
\end{tabular}
\end{document}