Skip to content

Tabelle dall'aspetto professionale con colori di riga alternati?

Dopo aver cercato in diversi repository e pagine Internet, abbiamo finalmente trovato la risoluzione che ti mostreremo presto.

Soluzione:

Le strisce zebrate, come vengono chiamate, a volte possono essere meglio di niente, ma si tratta comunque di una cattiva progettazione delle tabelle. Si veda questa discussione sul forum Web di Edward Tufte, che fa riferimento a un capitolo del suo libro Envisioning Information (che in realtà non contiene alcuna discussione sulle strisce zebrate nelle tabelle, ma è comunque un libro meraviglioso).

Il problema che le strisce zebrate cercano di risolvere è che i contenuti delle celle di colonne vicine sono troppo distanti tra loro, rendendo difficile seguire il contenuto lungo le righe. Ecco il mio elenco di suggerimenti per migliorare una tabella dove pensare di aver bisogno di strisce zebrate, più o meno in ordine.

  1. Abbreviare le intestazioni di colonna. Spesso le celle del contenuto contengono poche informazioni, ad esempio un numero a due cifre, ma le ampie celle di intestazione della colonna rendono la colonna troppo larga.
  2. Se non è possibile abbreviare l'intestazione della colonna, dividerla in due (o più) righe.
  3. Ruotare leggermente le intestazioni di colonna, magari di 20 gradi, in modo che non occupino molto spazio in orizzontale. Come fare in LaTeX è una questione a parte:)
  4. A volte è possibile eliminare l'intera riga di intestazione, poiché il significato di ogni colonna è evidente.
  5. Aggiungete uno spazio extra tra le righe, in modo che le righe sembrino effettivamente separate. Di solito non è necessario molto spazio aggiuntivo.
  6. Aggiungete piccoli punti di riferimento orizzontali centrati verticalmente tra le celle o all'interno di esse. Questo è particolarmente utile se alcune celle sono vuote. Il modo migliore per farlo in LaTeX è ovviamente una questione a parte.
  7. Una combinazione di alcuni o tutti i precedenti.

Se, e solo se, quanto sopra non è di aiuto, cioè se si ha bisogno di intestazioni di colonne lunghe, con celle di contenuto strette o vuote, un ampio spazio intercolonna e la necessità di conservare lo spazio verticale, allora è possibile può prendere in considerazione l'uso delle strisce zebrate, pur sapendo che si tratta comunque di una cattiva progettazione della tabella. Fortunatamente, ci sono alcuni trucchi che si possono utilizzare per ridurre il danno:

  1. Utilizzare campate di righe dello stesso colore, che hanno un aspetto migliore rispetto alla semplice alternanza di strisce zebrate. Ad esempio, colorare le righe 1-3 di azzurro, le righe 4-6 di bianco, le righe 6-9 di azzurro, le righe 10-12 di bianco, ecc. In questo modo si riduce notevolmente il problema delle righe apparentemente tremolanti. Quando si usano tre righe, è facile riconoscere la prima, la metà e l'ultima riga di ogni "gruppo" ed è molto più difficile "perdersi" (cioè leggere la riga sbagliata quando si passa da una colonna all'altra) rispetto a quando si alternano semplicemente i colori delle righe. Anche i gruppi di cinque funzionano bene.
  2. Si noti che l'importante è raggruppare le righe in tre o cinque righe. E per questo non sono necessari i colori! È sufficiente separare i gruppi con degli spazi bianchi verticali o con una linea orizzontale molto debole o punteggiata e leggermente colorata.
  3. I due colori di sfondo devono essere molto chiari o simili. Il blu usato nel vostro esempio è troppo scuro, IMHO. Ma quando si schiarisce il colore, stampare il documento per assicurarsi che il colore blu chiaro sia ancora visibilmente diverso dal bianco, poiché molte stampanti non sono molto brave a stampare colori molto chiari.

Il problema principale del raggruppamento sopra descritto è che implica visivamente un logico che non esiste. Questa è una buona ragione per evitare le strisce zebrate. E, come mostrato in precedenza nella mia risposta, non sono nemmeno necessarie, quindi evitatele se apprezzate il buon design delle tabelle.

Sono d'accordo sul fatto che il colore delle righe sia un'ottima aggiunta alle tabelle, poiché è molto più sottile delle regole orizzontali. E per sottile mi riferisco all'uso di un colore che non sia troppo audace - l'uso di una tonalità di nero o di grigio è la cosa migliore, poiché ha un duplice scopo negli ambienti a colori (sullo schermo) e in bianco e nero (nella stampa).

Quando si colorano alternativamente le righe di una tabella e si usa un colore di intestazione (magari più scuro), iniziare a colorare la seconda riga del corpo della tabella anziché la prima:

enter image description here

Forse, facendo l'avvocato del diavolo, ecco un esempio di come i colori delle righe possano creare problemi. La preoccupazione è la coerenza e l'estetica:

enter image description here

Ad esempio, si colorano le righe solo della colonna 2-4? Oppure si colora ogni gruppo di "Approccio" (in questo caso, è banale pensare di colorare solo le righe 3-4 nel corpo della tabella)? Oppure si colora la prima colonna con lo stesso colore della riga e si mantengono i colori delle righe così come sono?

documentclass{article}
usepackage{booktabs}% http://ctan.org/pkg/booktabs
usepackage{colortbl}% http://ctan.org/pkg/colortbl
usepackage{amsmath}% http://ctan.org/pkg/amsmath
usepackage{xcolor}% http://ctan.org/pkg/xcolor
usepackage{graphicx}% http://ctan.org/pkg/graphicx

colorlet{tableheadcolor}{gray!25} % Table header colour = 25% gray
newcommand{headcol}{rowcolor{tableheadcolor}} %
colorlet{tablerowcolor}{gray!10} % Table row separator colour = 10% gray
newcommand{rowcol}{rowcolor{tablerowcolor}} %
    % Command topline consists of a (slightly modified) toprule followed by a heavyrule rule of colour tableheadcolor (hence, 2 separate rules)
newcommand{topline}{arrayrulecolor{black}specialrule{0.1em}{abovetopsep}{0pt}%
            arrayrulecolor{tableheadcolor}specialrule{belowrulesep}{0pt}{0pt}%
            arrayrulecolor{black}}
    % Command midline consists of 3 rules (top colour tableheadcolor, middle colour black, bottom colour white)
newcommand{midline}{arrayrulecolor{tableheadcolor}specialrule{aboverulesep}{0pt}{0pt}%
            arrayrulecolor{black}specialrule{lightrulewidth}{0pt}{0pt}%
            arrayrulecolor{white}specialrule{belowrulesep}{0pt}{0pt}%
            arrayrulecolor{black}}
    % Command rowmidlinecw consists of 3 rules (top colour tablerowcolor, middle colour black, bottom colour white)
newcommand{rowmidlinecw}{arrayrulecolor{tablerowcolor}specialrule{aboverulesep}{0pt}{0pt}%
            arrayrulecolor{black}specialrule{lightrulewidth}{0pt}{0pt}%
            arrayrulecolor{white}specialrule{belowrulesep}{0pt}{0pt}%
            arrayrulecolor{black}}
    % Command rowmidlinewc consists of 3 rules (top colour white, middle colour black, bottom colour tablerowcolor)
newcommand{rowmidlinewc}{arrayrulecolor{white}specialrule{aboverulesep}{0pt}{0pt}%
            arrayrulecolor{black}specialrule{lightrulewidth}{0pt}{0pt}%
            arrayrulecolor{tablerowcolor}specialrule{belowrulesep}{0pt}{0pt}%
            arrayrulecolor{black}}
    % Command rowmidlinew consists of 1 white rule
newcommand{rowmidlinew}{arrayrulecolor{white}specialrule{aboverulesep}{0pt}{0pt}%
            arrayrulecolor{black}}
    % Command rowmidlinec consists of 1 tablerowcolor rule
newcommand{rowmidlinec}{arrayrulecolor{tablerowcolor}specialrule{aboverulesep}{0pt}{0pt}%
            arrayrulecolor{black}}
    % Command bottomline consists of 2 rules (top colour
newcommand{bottomline}{arrayrulecolor{white}specialrule{aboverulesep}{0pt}{0pt}%
            arrayrulecolor{black}specialrule{heavyrulewidth}{0pt}{belowbottomsep}}%
newcommand{bottomlinec}{arrayrulecolor{tablerowcolor}specialrule{aboverulesep}{0pt}{0pt}%
            arrayrulecolor{black}specialrule{heavyrulewidth}{0pt}{belowbottomsep}}%

begin{document}

renewcommand{arraystretch}{1.5}
begin{tabular}{llll}
  topline
  headcol Approach & Estimator & ME & MAE \
  midline
  & $widehat{JV}_{text{na"ive}}$ & 4.37e-07 & 4.37e-07 \
  rowcol smash{raisebox{1em}{Na"ive}} & $widetilde{JV}_{text{na"ive}}$ & 3.88e-07 & 3.88e-07 \
  & $widehat{JV}$ & 1.33e-06 & 1.33e-06 \
   rowcol smash{raisebox{1em}{Regular}} & $widetilde{JV}$ & 1.20e-06 & 1.20e-06 \
  bottomlinec
end{tabular}

end{document}

Il codice precedente include una serie di definizioni di righe aggiuntive basate su specialrule da booktabs. Consente di specificare un colore per l'intestazione della tabella (tableheadcolor) e per la riga del corpo della tabella (tablerowcolor), a seconda che la riga sia colorata o meno e/o che finisca/inizi con una riga colorata o meno.

Un approccio simile, forse meno manuale, si può ottenere usando tabu o tikz/pgf per questo motivo.

IMHO migliora molto la leggibilità se si aggiungono colori alternati alle tabelle. Naturalmente la scelta dei colori conta molto, probabilmente sceglierete toni morbidi, che lasciano il testo leggibile e si integrano bene nello 'schema di colori' generale del documento.

Vorrei citare qui il testo TikZ/PGF manuale (la citazione in realtà è presa da qualche altra parte 🙂 ):

Gli unici errori in tipografia sono le cose fatte per ignoranza.

Sezione recensioni e valutazioni



Utilizzate il nostro motore di ricerca

Ricerca
Generic filters

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.