Como remover linha preta extra que entra na tabela devido ao hhline

Como remover linha preta extra que entra na tabela devido ao hhline

tabela resultante

Usando o código fornecido abaixo, estou recebendo uma linha preta sobre a palavra "Métodos" devido a hhline. Como devo remover esta linha preta ou torná-la da mesma cor da cor de fundo para que não fique visível?

\documentclass{article}
  \usepackage{hhline}
 \usepackage[table]{xcolor}
   \usepackage{array}
 \usepackage{hhline}
  \usepackage{multirow}
  \definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}
   \definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}
    \begin{document}
    \begin{table}[]
    \centering
    \setlength\arrayrulewidth{1.3pt}
        \footnotesize\setlength{\tabcolsep}{2.7 pt}
    \renewcommand{\arraystretch}{1.4}
    \begin{tabular}{|c|c|c|c|c|c|c|}
        \hline
        \cellcolor{aliceblue}  & \multicolumn{2}{c|}{\cellcolor{babyblue}ISE} & \multicolumn{2}{c|}{\cellcolor{babyblue}IAE} & \multicolumn{2}{c|}{\cellcolor{babyblue}ITAE} \\ \hhline{-|-|-|-|-|-|-|} \cline{2-7} 
            \multirow{-2}{*}{\cellcolor{aliceblue} Methods}
        & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%     & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%      & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%       \\ \hhline{-|*6-}
        \rowcolor{babyblue}ABC                                                           & 0.5645      & 0.63     & 1.8       & 1.8      & 6.1       & 6.6       \\ \hhline{-|*6-}
        \rowcolor{aliceblue}XYZ                                                            & 2.1       & 2.3      & 0.881       & 9.82      & 9.2       & 28.9       \\ \hhline{-|*6-}
        \rowcolor{babyblue}MNO                                                                & 0.68      & 0.97     & 1.62       & 1.61      & 8.9       & 8.2       \\ \hhline{-|*6-}
        \rowcolor{aliceblue} PQR                                                                 & 0.65       & 0.753     & 2.064       & 2.231      & 28.04       & 28.56       \\ \hhline{-|*6-}
    \end{tabular}
    \end{table}
   \end{document}

Responder1

Você precisa alterar o comando usado \hhline{-|-|-|-|-|-|-|}para \hhline{|~|-|-|-|-|-|-|}(veja a ~marcação na primeira posição, não deve haver linha).

Então o seguinte MWE

\documentclass{article}

\usepackage{hhline}
\usepackage[table]{xcolor}
\usepackage{array}
\usepackage{multirow}

\definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}
\definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}


\begin{document}

\begin{table}[]
  \centering
  \setlength\arrayrulewidth{1.3pt}
  \footnotesize\setlength{\tabcolsep}{2.7 pt}
  \renewcommand{\arraystretch}{1.4}
  \begin{tabular}{|c|c|c|c|c|c|c|}
    \hline
    \cellcolor{aliceblue}  & \multicolumn{2}{c|}{\cellcolor{babyblue}ISE} & \multicolumn{2}{c|}{\cellcolor{babyblue}IAE} & \multicolumn{2}{c|}{\cellcolor{babyblue}ITAE} \\ 
   \hhline{|~|-|-|-|-|-|-|} % <==========================================
    \multirow{-2}{*}{\cellcolor{aliceblue}Methods}
        & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%     & \cellcolor{aliceblue}-20\%        & \cellcolor{aliceblue}+20\%      & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%        \\ \hhline{-|*6-}
    \rowcolor{babyblue}ABC                                                           & 0.5645      & 0.63     & 1.8       & 1.8      & 6.1       & 6.6       \\ \hhline{-|*6-}
    \rowcolor{aliceblue}XYZ                                                            & 2.1       & 2.3      & 0.881       & 9.82      & 9.2       & 28.9       \\ \hhline{-|*6-}
    \rowcolor{babyblue}MNO                                                                & 0.68      & 0.97     & 1.62       & 1.61      & 8.9       & 8.2       \\ \hhline{-|*6-}
    \rowcolor{aliceblue} PQR                                                                 & 0.65       & 0.753     & 2.064       & 2.231      & 28.04       & 28.56       \\ \hhline{-|*6-}
  \end{tabular}
\end{table}
\end{document}

resulta na seguinte tabela:

insira a descrição da imagem aqui

Porque você não quer se livrar das linhas eu apaguei a segunda tabela.

Para se livrar da linha branca subjacente sob o texto "Método", você precisa alterar o comando \hhline{|~|-|-|-|-|-|-|}para

\hhline{|>{\arrayrulecolor{aliceblue}}->{\arrayrulecolor{black}}|-|-|-|-|-|-|}

Observe que este código imprime a primeira parte da linha (marcada com -novamente; ~adiciona a linha branca!) e colore-a com a mesma cor do fundo.

Com o seguinte MWE

\documentclass{article}

\usepackage{hhline}
\usepackage[table]{xcolor}
\usepackage{array}
\usepackage{multirow}
\usepackage{booktabs}

\definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}
\definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}


\begin{document}

\begin{table}[ht]
  \centering
  \setlength\arrayrulewidth{1.3pt}
  \footnotesize\setlength{\tabcolsep}{2.7 pt}
  \renewcommand{\arraystretch}{1.4}
  \begin{tabular}{|c|c|c|c|c|c|c|}
    \hline
    \cellcolor{aliceblue}  & \multicolumn{2}{c|}{\cellcolor{babyblue}ISE} & \multicolumn{2}{c|}{\cellcolor{babyblue}IAE} & \multicolumn{2}{c|}{\cellcolor{babyblue}ITAE} \\ 
   \hhline{|>{\arrayrulecolor{aliceblue}}->{\arrayrulecolor{black}}|-|-|-|-|-|-|} % <==========================================
    \multirow{-2}{*}{\cellcolor{aliceblue}Methods}
        & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%     & \cellcolor{aliceblue}-20\%        & \cellcolor{aliceblue}+20\%      & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%        \\ \hhline{-|*6-}
    \rowcolor{babyblue}ABC                                                           & 0.5645      & 0.63     & 1.8       & 1.8      & 6.1       & 6.6       \\ \hhline{-|*6-}
    \rowcolor{aliceblue}XYZ                                                            & 2.1       & 2.3      & 0.881       & 9.82      & 9.2       & 28.9       \\ \hhline{-|*6-}
    \rowcolor{babyblue}MNO                                                                & 0.68      & 0.97     & 1.62       & 1.61      & 8.9       & 8.2       \\ \hhline{-|*6-}
    \rowcolor{aliceblue} PQR                                                                 & 0.65       & 0.753     & 2.064       & 2.231      & 28.04       & 28.56       \\ \hhline{-|*6-}
  \end{tabular}
\end{table}

\end{document}

você obtém o resultado:

melhor mesa

Responder2

eu redesenharia sua tabela da seguinte maneira:

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{siunitx}
\usepackage[table]{xcolor}
\definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}
\definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}
\usepackage{booktabs, multirow}
\newcommand\mcc[1]{\multicolumn{2}{c}{#1}}

\begin{document}

\begin{table}[htb]
  \centering
  \renewcommand\arraystretch{1.2}
  \rowcolors{2}{white}{aliceblue}
  \begin{tabular}{c *{6}{S} }
    \toprule
        & \mcc{ISE} & \mcc{IAE} & \mcc{ITAE}                \\
    \cmidrule(lr){2-3}\cmidrule(lr){4-5}\cmidrule(lr){6-7}
\multirow{-2.3}{*}{Methods}
        & {$-20\%$} & {$+20\%$}
                    & {$-20\%$} & {$+20\%$}
                                & {$$-20\%$} & {$+20\%$}         \\
    \hline
ABC     & 0.5645    & 0.63  & 1.8   & 1.8   & 6.1   &  6.6  \\
XYZ     & 2.1       & 2.3   & 0.881 & 9.82  & 9.2   & 28.9  \\
MNO     & 0.68      & 0.97  & 1.62  & 1.61  & 8.9   &  8.2  \\
PQR     & 0.65      & 0.753 & 2.064 & 2.231 & 28.04 & 28.56 \\
    \bottomrule
  \end{tabular}
\end{table}
\end{document}

Responder3

Aqui está uma solução para a linha branca no \multirow. em vez de usar \hhline{~|-|-|-|-|-|-|}, eu uso largura total \hhline, mas faço o primeiro segmento colorido com a cor de fundo do \multirow.

Também tomei a liberdade de simplificar seu código e usar a AliceBluecor from svgnames, pois não parece diferente do seu aliceblue.

\documentclass{article}

\usepackage{hhline}
\usepackage[table, svgnames]{xcolor}
\usepackage{array}
\usepackage{multirow}
\usepackage{booktabs}

\definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}

\begin{document}

\begin{table}[ht]
  \centering
  \setlength\arrayrulewidth{1.3pt}
  \footnotesize\setlength{\tabcolsep}{2.7 pt}
  \renewcommand{\arraystretch}{1.4}
  \begin{tabular}{|c|c|c|c|c|c|c|}
    \hline
    \cellcolor{aliceblue} & \multicolumn{2}{c|}{\cellcolor{babyblue}ISE} & \multicolumn{2}{c|}{\cellcolor{babyblue}IAE} & \multicolumn{2}{c|}{\cellcolor{babyblue}ITAE} \\
   \hhline{|>{\arrayrulecolor{AliceBlue}}->{\arrayrulecolor{black}}|*6{-}} % <==========================================
\rowcolor{AliceBlue} \multirow{-2}{*}{Methods}
        &$ - $20\% & +20\% & $ - $20\% & +20\% & $ - $20\% & +20\% \\ \hhline{-|*6-}
    \rowcolor{babyblue}ABC & 0.5645 & 0.63 & 1.8 & 1.8 & 6.1 & 6.6 \\ \hhline{-|*6-}
    \rowcolor{AliceBlue}XYZ & 2.1 & 2.3 & 0.881 & 9.82 & 9.2 & 28.9 \\ \hhline{-|*6-}
    \rowcolor{babyblue}MNO & 0.68 & 0.97 & 1.62 & 1.61 & 8.9 & 8.2 \\ \hhline{-|*6-}
    \rowcolor{AliceBlue} PQR & 0.65 & 0.753 & 2.064 & 2.231 & 28.04 & 28.56 \\ \hhline{-|*6-}
  \end{tabular}
\end{table}

\end{document} 

insira a descrição da imagem aqui

Responder4

É fácil fazer essa tabela com {NiceTabular}of nicematrix.

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}
\definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}
\definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}

\begin{document}
\begin{table}[ht]
\centering
\setlength{\arrayrulewidth}{1.3pt}
\footnotesize
\setlength{\tabcolsep}{2.7 pt}
\renewcommand{\arraystretch}{1.4}
\begin{NiceTabular}{ccccccc}[hvlines,color-inside]
  \rowcolors{babyblue}{aliceblue}
  \Block[fill=aliceblue]{2-1}{Methods} & \Block{1-2}{ISE} && \Block{1-2}{IAE} && \Block{1-2}{ITAE} \\ 
      &$-$20\%   & +20\%  & $-$20\%  & +20\% & $-$20\% & +20\%  \\
  ABC & 0.5645 & 0.63   & 1.8    & 1.8   & 6.1   & 6.6    \\ 
  XYZ & 2.1    & 2.3    & 0.881  & 9.82  & 9.2   & 28.9   \\ 
  MNO & 0.68   & 0.97   & 1.62   & 1.61  & 8.9   & 8.2    \\ 
  PQR & 0.65   & 0.753  & 2.064  & 2.231 & 28.04 & 28.56  \\ 
\end{NiceTabular}
\end{table}
\end{document} 

Você precisa de várias compilações (porque nicematrixusa nós PGF/Tikz nos bastidores).

Saída do código acima

informação relacionada