\definecolor{error00}{RGB}{255, 0, 0}
\definecolor{error01}{RGB}{204, 0, 0}
\definecolor{error02}{RGB}{153, 0, 0}
\definecolor{error03}{RGB}{102, 0, 0}
\definecolor{error04}{RGB}{51, 0, 0}
\definecolor{error05}{RGB}{25, 0, 0}

\definecolor{warning00}{RGB}{255, 255, 0}
\definecolor{warning01}{RGB}{255, 215, 0}
\definecolor{warning02}{RGB}{139, 117, 0}
\definecolor{warning03}{RGB}{238, 201, 0}
\definecolor{warning04}{RGB}{255, 215, 0}
\definecolor{warning05}{RGB}{238, 238, 0}
\definecolor{warning06}{RGB}{139, 139, 0}
\definecolor{warning07}{RGB}{255, 255, 0}
\definecolor{warning08}{RGB}{238, 201, 0}
\definecolor{warning09}{RGB}{205, 173, 0}
\definecolor{warning10}{RGB}{205, 205, 0}
\definecolor{warning11}{RGB}{205, 173, 0}
\definecolor{warning12}{RGB}{238, 238, 0}
\definecolor{warning13}{RGB}{139, 117, 0}
\definecolor{warning14}{RGB}{139, 139, 0}

\begin{frame}{Codestil: Server}
% Balkendiagram:
% zwei Balken: vorher, nachher
% eine Balken besteht aus verschiedenen Ebenen für jeden Linter Fehler

\vspace{-.7cm}
\begin{multicols}{2}
\hspace{-0.5cm}
\begin{tikzpicture}
\begin{axis}[
    title={Code-Stil-Anmerkungen durch Checkstyle Sun-Checks},
    title style={align=left, at={(.45,1)}},
    ybar stacked, ymin=0,  
    bar width=10mm,
    symbolic x coords={Vorher,Nachher},
    xtick=data,
    xticklabel style={text width=2cm,align=center},
    nodes near coords={}
]

\addplot [fill=error02] coordinates { ({Vorher}, 285 ) ({Nachher}, 0)}; % (sizes)       LineLength
\addplot [fill=error00] coordinates { ({Vorher}, 143 ) ({Nachher}, 0)}; % (misc)        FinalParameters
\addplot [fill=error03] coordinates { ({Vorher}, 101 ) ({Nachher}, 0)}; % (javadoc)     JavadocVariable
\addplot [fill=error04] coordinates { ({Vorher}, 83  ) ({Nachher}, 0)}; % (javadoc)     JavadocStyle
\addplot [fill=error02] coordinates { ({Vorher}, 43  ) ({Nachher}, 0)}; % (design)      DesignForExtension
\addplot [fill=error01] coordinates { ({Vorher}, 39  ) ({Nachher}, 0)}; % (javadoc)     MissingJavadocMethod
\addplot [fill=error01] coordinates { ({Vorher}, 26  ) ({Nachher}, 0)}; % (regexp)      RegexpSingleline
\addplot [fill=error02] coordinates { ({Vorher}, 15  ) ({Nachher}, 0)}; % (whitespace)  WhitespaceAround
\addplot [fill=error01] coordinates { ({Vorher}, 13  ) ({Nachher}, 0)}; % (javadoc)     JavadocPackage
\addplot [fill=error03] coordinates { ({Vorher}, 10  ) ({Nachher}, 0)}; % (whitespace)  OperatorWrap
\addplot [fill=error00] coordinates { ({Vorher}, 10  ) ({Nachher}, 0)}; % (javadoc)     JavadocType
\addplot [fill=error05] coordinates { ({Vorher}, 7   ) ({Nachher}, 0)}; % (imports)     AvoidStarImport
\addplot [fill=error05] coordinates { ({Vorher}, 6   ) ({Nachher}, 0)}; % (coding)      MagicNumber
\addplot [fill=error05] coordinates { ({Vorher}, 4   ) ({Nachher}, 0)}; % (javadoc)     JavadocMethod
\addplot [fill=error04] coordinates { ({Vorher}, 3   ) ({Nachher}, 0)}; % (coding)      HiddenField
\addplot [fill=error02] coordinates { ({Vorher}, 2   ) ({Nachher}, 0)}; % (javadoc)     InvalidJavadocPosition
\addplot [fill=error00] coordinates { ({Vorher}, 2   ) ({Nachher}, 0)}; % (blocks)      RightCurly
\addplot [fill=error03] coordinates { ({Vorher}, 1   ) ({Nachher}, 0)}; % (whitespace)  WhitespaceAfter
\addplot [fill=error04] coordinates { ({Vorher}, 1   ) ({Nachher}, 0)}; % (whitespace)  FileTabCharacter
\addplot [fill=error04] coordinates { ({Vorher}, 1   ) ({Nachher}, 0)}; % (misc)        NewlineAtEndOfFile
\addplot [fill=error01] coordinates { ({Vorher}, 1   ) ({Nachher}, 0)}; % (misc)        ArrayTypeStyle
\addplot [fill=error00] coordinates { ({Vorher}, 1   ) ({Nachher}, 0)}; % (imports)     UnusedImports
\addplot [fill=error03, point meta=y,nodes near coords,nodes near coords align={anchor=south}] coordinates { ({Vorher}, 2   ) ({Nachher}, 1)}; % (design)      HideUtilityClassConstructor

\end{axis}
\end{tikzpicture}

\small
\renewcommand{\arraystretch}{0.8}
\begin{tabularx}{.5\textwidth}{X | c | c}
    Regel                               & Vorher & Nacher \\ \hline
    sizes: LineLength                   & 285    & 0 \\
    misc: FinalParameters               & 143    & 0 \\
    javadoc: JavadocVariable            & 101    & 0 \\
    javadoc: JavadocStyle               & 83     & 0 \\
    design: DesignForExtension          & 43     & 0 \\
    javadoc: MissingJavadocMethod       & 39     & 0 \\
    regexp: RegexpSingleline            & 26     & 0 \\
    whitespace: WhitespaceAround        & 15     & 0 \\
    javadoc: JavadocPackage             & 13     & 0 \\
    whitespace: OperatorWrap            & 10     & 0 \\
    javadoc: JavadocType                & 10     & 0 \\
    imports: AvoidStarImport            & 7      & 0 \\
    coding: MagicNumber                 & 6      & 0 \\
    javadoc: JavadocMethod              & 4      & 0 \\
    coding: HiddenField                 & 3      & 0 \\
    javadoc: InvalidJavadocPosition     & 2      & 0 \\
    blocks: RightCurly                  & 2      & 0 \\
    whitespace: WhitespaceAfter         & 1      & 0 \\
    whitespace: FileTabCharacter        & 1      & 0 \\
    misc: NewlineAtEndOfFile            & 1      & 0 \\
    misc: ArrayTypeStyle                & 1      & 0 \\
    imports: UnusedImports              & 1      & 0 \\
    design: HideUtilityClassConstructor & 2      & 1 \\
\end{tabularx}
\end{multicols}

\end{frame}


\begin{frame}{Codestil: Dashboard}
% Balkendiagram:
% zwei Balken: vorher, nachher
% eine Balken besteht aus verschiedenen Ebenen für jeden Linter Fehler

\vspace{-.7cm}
\begin{multicols}{2}
\hspace{-0.5cm}
\begin{tikzpicture}
\begin{axis}[
    title={Code-Stil-Anmerkungen durch ESLint},
    title style={align=left, at={(.3,1)}},
    ybar stacked, ymin=0,  
    bar width=10mm,
    symbolic x coords={Vorher,Nachher},
    xtick=data,
    xticklabel style={text width=2cm,align=center},
    nodes near coords={},
    legend style={draw=none}
]

\addplot  [fill=error00]    coordinates  {  ({Vorher},  26   )    ({Nachher},  0)};     % error    vue/html-indent
\addplot  [fill=error01]    coordinates  {  ({Vorher},  17   )    ({Nachher},  0)};     % error    vue/script-indent
\addplot  [fill=error02]    coordinates  {  ({Vorher},  6    )    ({Nachher},  0)};     % error    vue/require-v-for-key
\addplot  [fill=error03]    coordinates  {  ({Vorher},  5    )    ({Nachher},  0)};     % error    vue/multi-word-component-names
\addplot  [fill=error04]    coordinates  {  ({Vorher},  1    )    ({Nachher},  0)};     % error    vue/valid-v-for
\addplot  [fill=error05]    coordinates  {  ({Vorher},  1    )    ({Nachher},  0)};     % error    vue/valid-template-root
\addplot  [fill=warning00]  coordinates  {  ({Vorher},  125  )    ({Nachher},  0)};     % warning  vue/max-attributes-per-line
\addplot  [fill=warning01]  coordinates  {  ({Vorher},  34   )    ({Nachher},  0)};     % warning  vue/attributes-order
\addplot  [fill=warning02]  coordinates  {  ({Vorher},  26   )    ({Nachher},  0)};     % warning  vue/singleline-html-element-content-newline
\addplot  [fill=warning03]  coordinates  {  ({Vorher},  12   )    ({Nachher},  0)};     % warning  vue/require-default-prop
\addplot  [fill=warning04]  coordinates  {  ({Vorher},  12   )    ({Nachher},  0)};     % warning  vue/html-self-closing
\addplot  [fill=warning05]  coordinates  {  ({Vorher},  11   )    ({Nachher},  0)};     % warning  vue/first-attribute-linebreak
\addplot  [fill=warning06]  coordinates  {  ({Vorher},  10   )    ({Nachher},  0)};     % warning  vue/html-closing-bracket-newline
\addplot  [fill=warning07]  coordinates  {  ({Vorher},  8    )    ({Nachher},  0)};     % warning  vue/multiline-html-element-content-newline
\addplot  [fill=warning08]  coordinates  {  ({Vorher},  5    )    ({Nachher},  0)};     % warning  vue/html-closing-bracket-spacing
\addplot  [fill=warning09]  coordinates  {  ({Vorher},  3    )    ({Nachher},  0)};     % warning  vue/require-prop-types
\addplot  [fill=warning10]  coordinates  {  ({Vorher},  3    )    ({Nachher},  0)};     % warning  vue/attribute-hyphenation
\addplot  [fill=warning11]  coordinates  {  ({Vorher},  2    )    ({Nachher},  0)};     % warning  vue/html-self-closing
\addplot  [fill=warning12]  coordinates  {  ({Vorher},  1    )    ({Nachher},  0)};     % warning  vue/v-on-event-hyphenation
\addplot  [fill=warning13]  coordinates  {  ({Vorher},  1    )    ({Nachher},  0)};     % warning  vue/no-v-html
\addplot  +[fill=warning14, point meta=y,nodes near coords,nodes near coords align={anchor=south}]coordinates  { ({Vorher},  1    ) ({Nachher}, 1)};  %            warning  vue/mustache-interpolation-spacing           

\end{axis}
\end{tikzpicture}

\small
\renewcommand{\arraystretch}{0.8}
\setlength{\tabcolsep}{1pt}
\begin{tabularx}{.54\textwidth}{X | c | c}
    Regel                                            & Vorher & Nachher \\ \hline
    error: html-indent                               & 26     & 0 \\
    error: script-indent                             & 17     & 0 \\
    error: require-v-for-key                         & 6      & 0 \\
    error: multi-word-component-names                & 5      & 0 \\
    error: valid-v-for                               & 1      & 0 \\
    error: valid-template-root                       & 1      & 0 \\
    warning: max-attributes-per-line                 & 125    & 0 \\
    warning: attributes-order                        & 34     & 0 \\
    warning: singleline-html-element-content-newline & 26     & 0 \\
    warning: require-default-prop                    & 12     & 0 \\
    warning: html-self-closing                       & 12     & 0 \\
    warning: first-attribute-linebreak               & 11     & 0 \\
    warning: html-closing-bracket-newline            & 10     & 0 \\
    warning: multiline-html-element-content-newline  & 8      & 0 \\
    warning: html-closing-bracket-spacing            & 5      & 0 \\
    warning: require-prop-types                      & 3      & 0 \\
    warning: attribute-hyphenation                   & 3      & 0 \\
    warning: html-self-closing                       & 2      & 0 \\
    warning: v-on-event-hyphenation                  & 1      & 0 \\
    warning: mustache-interpolation-spacing          & 1      & 0 \\
    warning: no-v-html                               & 1      & 1 \\
\end{tabularx}
\end{multicols}

\end{frame}
