Salta el contingut

Sectors, mapa de calor i altres

Exercici pie-heatmap-others-annex.pdf · PDF

La partida s'ha acabat i surt la pantalla d'estadístiques. No et mostra un sol gràfic. Te'n mostra quatre de diferents, perquè tens quatre preguntes diferents.

Com s'ha repartit el teu dany entre les armes? Un cercle tallat a trossos. On s'han produït els combats al mapa? Un mapa pintat de colors, i el joc fins i tot en diu heatmap. Quina ha estat la teva puntuació final? Un número enorme. I qui ha fet què? El marcador complet, una taula senzilla.

Fins ara tens quatre eines: barres, línies, histograma i dispersió. Aquesta lliçó afegeix les quatre d'aquella pantalla d'estadístiques. Una d'elles, el gràfic de sectors, és molt fàcil d'equivocar, així que també en construiràs un que menteix.

Què aprendràs

  • Construir un gràfic de sectors i enunciar les tres condicions en què és acceptable
  • Detectar un gràfic de sectors que menteix perquè els seus trossos no són el tot
  • Construir un mapa de calor a partir de dues dimensions i una mètrica, i llegir-ne un patró pel color
  • Canviar què compara un mapa de calor normalitzant-lo
  • Decidir quan un número gran o una taula senzilla guanya a qualsevol gràfic
  • Associar vuit tipus de gràfic amb la pregunta que respon cadascun

El gràfic de sectors: parts d'un tot

Un gràfic de sectors és un cercle tallat a trossos. El cercle és el tot, el 100 %, i cada tros n'és una part. Respon la pregunta quina part del total és cada element?

A la pantalla d'estadístiques, el cercle és tot el dany que has fet i cada tros és una arma. El gràfic de sectors fa una promesa que cap gràfic de barres no fa: aquests trossos sumen tot.

La idea té més de dos segles. L'enginyer escocès William Playfair és considerat l'autor del primer gràfic de sectors, al seu llibre The Statistical Breviary, publicat el 1801.

Aquí en tens un d'honest, fet amb games_clean. A la Unitat 2 vas crear la columna owners_tier, que classifica cada joc segons quanta gent el té:

pie
    title Jocs de Steam per nivell de propietaris
    "Niche" : 17921
    "Mid" : 8141
    "Hit" : 623
owners_tier Significat Jocs Tros
Niche Menys de 20,000 propietaris 17,921 67.2 %
Mid De 20,000 a menys d'1,000,000 8,141 30.5 %
Hit 1,000,000 o més 623 2.3 %

Pots dir "dos de cada tres jocs són Niche" sense llegir cap número. Això és un gràfic de sectors fent la seva feina.

Tres condicions, o fes servir barres

Recorda la classificació de Percepció visual: l'ull llegeix millor la posició, i un gràfic de sectors l'obliga a comparar angles, dos nivells més avall. Per tant, un gràfic de sectors s'ha de guanyar el lloc. Ho fa quan es compleixen les tres condicions:

Condició Per què El gràfic de nivell de propietaris
Els trossos són parts d'un tot i sumen el 100 % Aquesta és la promesa del cercle Cada joc és exactament en un nivell
Pocs trossos: cinc com a màxim Ningú no pot comparar molts angles Tres trossos
Les diferències són òbvies És impossible ordenar angles semblants 67 %, 31 % i 2 %

Si falla una condició, la resposta és un gràfic de barres.

flowchart TB
    A{"Els trossos són parts<br>d'un tot, que sumen el 100 %?"}
    A -- "No" --> BAR["<b>Gràfic de barres</b>"]
    A -- "Sí" --> B{"Cinc trossos o menys?"}
    B -- "No" --> BAR
    B -- "Sí" --> C{"Les diferències són òbvies?"}
    C -- "No" --> BAR
    C -- "Sí" --> PIE["<b>Gràfic de sectors</b>"]

Ja has vist un gràfic de sectors que suspèn. L'arc de Sant Martí de 15 trossos dels jocs per any de llançament a Percepció visual incomplia la segona condició, i el temps té un ordre que un cercle no pot mostrar.

Compte: els gràfics de sectors no estan prohibits

Sentiràs gent que diu "mai no facis servir un gràfic de sectors". És massa taxatiu. Un gràfic de sectors no és incorrecte, és menys precís. Amb dos o tres trossos molt diferents d'un sol tot va bé, i tothom ho entén d'un cop d'ull. Quinze anys en un gràfic de sectors no va bé.

Un gràfic de sectors que menteix

Ara, el perillós. Agafa el mateix gràfic de sectors i posa-hi publisher, quedant-te només amb els deu més grans:

pie
    title Malament a propòsit - els deu editors més grans
    "Big Fish Games" : 284
    "SEGA" : 141
    "Strategy First" : 129
    "Ubisoft" : 123
    "Unknown" : 120
    "Square Enix" : 95
    "Sekai Project" : 94
    "Choice of Games" : 92
    "Dagestan Technology" : 89
    "1C Entertainment" : 85

Quina part dels jocs de Steam té Big Fish Games? El gràfic diu que un 23 % aproximadament. Gairebé una quarta part de la botiga.

Comprova-ho amb una consulta:

SELECT ROUND(100.0 * COUNT(*) FILTER (WHERE publisher = 'Big Fish Games') / COUNT(*), 2)
FROM games_clean;

La resposta és 1.06. Big Fish Games va publicar 284 dels 26,685 jocs: un 1 % aproximadament. El gràfic en va dibuixar un 23 %.

D'on surt el 23 %? Aquests deu trossos contenen 1,252 jocs entre tots, i 284 és el 22.7 % de 1,252. El gràfic va mostrar la part de les files que li van donar, i li van donar deu editors d'un total de 13,951.

Jocs Part de Big Fish Games
Els deu editors més grans (el gràfic de sectors) 1,252 22.7 %
Tot games_clean (la veritat) 26,685 1.06 %

Aquest gràfic va incomplir la primera condició: deu editors no són el tot. A més té deu trossos, i un d'ells és el jugador fantasma Unknown de Gràfics de barres i de línies. El gràfic honest per a aquesta pregunta és el gràfic de barres ordenat que hi vas construir.

Compte: un gràfic de sectors no sempre mostra percentatges del total

Un gràfic de sectors mostra percentatges de les files que li han donat. Retalla les dades amb un límit de files o un filtre i els trossos continuen sumant el 100 %, d'alguna cosa més petita. El cercle sempre sembla complet. Per això és tan fàcil dir aquesta mentida sense voler.

El mapa de calor: una quadrícula pintada de colors

Un mapa de calor és una quadrícula. Una dimensió en fa les columnes, una altra en fa les files, i el color de cada cel·la mostra una mètrica: com més fosca la cel·la, més alt el valor.

A la pantalla d'estadístiques, les dues dimensions són les dues direccions del mapa, i el color és la quantitat de combats que hi ha hagut a cada punt. Ningú no hi llegeix un número exacte. Tu busques les zones calentes.

Aquesta és la manera correcta de llegir qualsevol mapa de calor. La intensitat del color és l'últim nivell de la taula de Cleveland i McGill: l'ull és dolent convertint un to en un número. Però és molt bo veient on s'agrupen les cel·les fosques.

Un mapa de calor serveix per veure patrons, no per llegir valors.

Aquí tens la pregunta: hi ha una temporada per llançar jocs a Steam? Les dues dimensions són l'any i el mes de llançament, i la mètrica és el nombre de jocs. De 2014 a 2018 això fa 5 columnes × 12 files = 60 cel·les, que contenen 24,115 jocs.

Dos mapes de calor dels jocs llançats a Steam per mes (files, amb gener a baix) i any (columnes, de 2014 a 2018), amb el recompte escrit a cada cel·la. A l'esquerre el color es compara entre les 60 cel·les, de manera que la columna de 2018 és la més fosca. A la dreta cada any es colora respecte de si mateix, i la fila de gener és la més pàl·lida a les cinc columnes.

Mira primer la quadrícula de l'esquerra. Què et diu el color? Que 2018 és més fosc que 2014. La cel·la més clara és gener de 2014 (61 jocs) i la més fosca és març de 2018 (853 jocs).

Però això ja ho sabies. El gràfic de línies de Gràfics de barres i de línies deia que els llançaments havien explotat. El creixement d'un any a l'altre és tan fort que ofega tota la resta, i la pregunta sobre les temporades continua sense resposta.

Normalitzar: canvia amb què es compara cada color

A la quadrícula de l'esquerra, cada cel·la es compara amb les altres 59. A la de la dreta, cada cel·la es compara només amb els altres mesos del seu propi any.

Normalitzar un mapa de calor és canviar amb què es compara el color de cada cel·la: tota la quadrícula, la seva pròpia columna o la seva pròpia fila.

Ara apareix el patró. Llegeix la fila de baix: gener és el mes més pàl·lid als cinc anys. La cel·la més fosca, el pic de cada any, canvia de lloc:

Any Mes més baix Mes de pic
2014 Gener (61) Novembre (146)
2015 Gener (156) Setembre (265)
2016 Gener (219) Desembre (492)
2017 Gener (386) Octubre (768)
2018 Gener (592) Març (853)

Així doncs, la resposta honesta és: hi ha una temporada baixa clara, gener, i cap temporada alta única. El pic cau a la segona meitat de l'any en quatre dels cinc anys, i al març el 2018.

Compte: normalitzar no canvia les dades

Les dues quadrícules contenen els mateixos 60 números: els pots llegir a les cel·les. Normalitzar només canvia amb què es compara el color de cada cel·la. És el mateix moviment que canviar el gra temporal d'una línia: mateixes files, una altra pregunta.

Compte: el mapa de calor no mostra valors exactes

Mostra on són les cel·les altes i baixes. La figura de dalt imprimeix el recompte a cada cel·la perquè ho puguis comprovar; un mapa de calor real sovint només mostra color. Quan el lector necessita els números exactes, mostra els valors a les cel·les o fes servir una taula.

Els altres: un número, una taula

No totes les preguntes necessiten un gràfic amb eixos. Dos dels "gràfics" més útils d'un quadre de comandament (dashboard) no en tenen.

El número gran

Un número gran és un gràfic que mostra un sol valor, tan gran com es pugui.

És la puntuació final de la pantalla d'estadístiques. Quants jocs hi ha a games_clean? No hi ha res a comparar, res a ordenar, cap tendència a llegir: la resposta és 26,685, i la millor visualització és el número mateix.

Pensa en la ràtio dades-tinta de Tufte. Un número gran no té res més a esborrar: cada gota de tinta és dada.

La taula

Una taula mostra files i columnes de valors exactes. És l'elecció correcta quan el lector necessita consultar coses.

És el marcador complet. Aquí tens els set jocs de games_clean amb almenys 20 milions de propietaris:

SELECT game, publisher, release_year, price, owners_min
FROM games_clean WHERE owners_min >= 20000000
ORDER BY owners_min DESC;
game publisher release_year price owners_min
Dota 2 Valve 2013 0.00 100,000,000
Counter-Strike: Global Offensive Valve 2012 0.00 50,000,000
PLAYERUNKNOWN'S BATTLEGROUNDS PUBG Corporation 2017 29.99 50,000,000
Team Fortress 2 Valve 2007 0.00 50,000,000
Paladins Hi-Rez Studios 2018 0.00 20,000,000
Unturned Smartly Dressed Games 2017 0.00 20,000,000
Warframe Digital Extremes 2013 0.00 20,000,000

Les files amb el mateix owners_min poden sortir en un ordre diferent a la teva pantalla.

Llegeix la columna price. Sis dels set jocs més grans de Steam són gratuïts. Una taula et deixa veure-ho perquè mostra diverses columnes de la mateixa fila una al costat de l'altra. Un gràfic de barres d'owners_min hauria mostrat set barres i hauria amagat el fet més interessant.

Compte: una taula també és una visualització

És temptador pensar que una taula és el que tens abans de fer un gràfic. No sempre. Quan el lector necessita els valors exactes d'unes poques files, una taula és la resposta final correcta.

La pantalla d'estadístiques: vuit eines, vuit preguntes

Això fa vuit eines. Cadascuna respon un tipus de pregunta:

Gràfic La pregunta que respon Construït a partir de
Barres Quina categoria és més gran? Una categoria i una mètrica
Línies Com ha canviat al llarg del temps? Una data i una mètrica
Histograma Com es reparteix un número? Una columna numèrica
Dispersió Com es relacionen dos números? Dues columnes numèriques
Sectors Quina part d'un tot és cada element? Una categoria amb pocs valors i una mètrica
Mapa de calor On és el patró entre dues dimensions? Dues dimensions i una mètrica
Número gran Quina és la xifra que cal recordar? Una mètrica sola
Taula Quins són els valors exactes? Qualsevol columna, poques files

Llegeix la taula des de la columna del mig. No comences amb "vull un gràfic de sectors". Comences amb "quina part...?" i la pregunta tria l'eina.

Prova-ho: quatre gràfics per a la pantalla d'estadístiques

Els quatre gràfics fan servir el dataset games_clean (vegeu Recursos per a les dades).

Gràfic 6 — Part per nivell de propietaris. Quina part dels jocs de Steam és Niche, Mid o Hit?

Pas Fes això a Superset Hauries de veure
1 Gràfic nou sobre games_clean, tipus de gràfic Pie Chart. Dimensions: owners_tier. Metric: COUNT(*). Create chart Tres trossos
2 Customize, Label Type: tria una opció que mostri el percentatge Percentatges als dos trossos grans. Hit no té etiqueta: per defecte només els trossos del 5 % o més en tenen (Percentage threshold)
3 Save, nom UT3 · Owners tier share El gràfic és a la llista Charts

Per veure tu mateix el gràfic de sectors que menteix, canvia Dimensions a publisher i Row limit a 10, i actualitza el gràfic. Mira el tros de Big Fish Games i després executa la consulta de dalt a SQL Lab. No desis aquest.

Gràfic 7 — Llançaments per mes i any. Hi ha una temporada per llançar jocs?

games_clean té una columna release_year però no té mes. Afegeix-lo com a columna calculada, com vas fer a Variables sintètiques.

Pas Fes això a Superset Hauries de veure
1 Datasets, games_clean, edita (el llapis), Calculated columns, Add item. Anomena-la release_month Una fila nova amb una caixa d'expressió
2 La caixa SQL expression ve amb el text d'exemple <enter SQL expression here>. Selecciona'l tot, esborra'l i escriu l'expressió de sota. Save, i després OK a Confirm save El dataset té una columna nova
3 Gràfic nou sobre games_clean, tipus de gràfic Heatmap. X-axis: release_year. Y-Axis: release_month. Metric: COUNT(*) Els tres controls emplenats
4 Filters: release_year, Greater or equal (>=), 2014, Save. Sort X Axis i Sort Y Axis: Axis ascending. Create chart Una quadrícula de 5 columnes × 12 files, més fosca cap a 2018. El mes 1 és la fila de baix
5 Posa Normalize Across a x. Update chart. Després Customize, marca Normalized Cada any es colora respecte de si mateix. La fila de baix és la més pàl·lida a totes les columnes
6 Save, nom UT3 · Releases by month and year El gràfic és a la llista Charts
EXTRACT(MONTH FROM release_date)::int

Gràfic 8 — Total de jocs. Gràfic nou, tipus de gràfic Big Number, Metric: COUNT(*). Mostra 26.7k. A Customize, posa Number format a ,d per obtenir la xifra exacta, 26,685. Desa'l com a UT3 · Total games.

Gràfic 9 — Taula dels jocs més grans. Gràfic nou, tipus de gràfic Table. Query mode: Raw records. Columns: game, publisher, release_year, price, owners_min. Filters: owners_min, Greater or equal (>=), 20000000. Ordering: owners_min [desc]. Hauries de veure set files, amb Dota 2 la primera. Desa'l com a UT3 · Biggest games table.

Si alguna cosa no quadra
  • El mapa de calor dona un error de base de dades tan bon punt es fa servir release_month. Probablement el text d'exemple <enter SQL expression here> encara és davant de la teva expressió. Edita el dataset, obre la columna amb el + de l'esquerra i esborra'l.
  • release_month no és al tauler del dataset. L'edició del dataset no es va desar, o el gràfic es va obrir abans. Recarrega la pàgina del gràfic.
  • Els mesos del mapa de calor surten en l'ordre 1, 10, 11, 12, 2. La columna és text. L'expressió ha d'acabar en ::int.
  • Un gràfic de sectors amb un centenar de trossos fins. publisher amb Row limit al valor per defecte (100 al Pie Chart). Posa'l a 10.
  • La taula mostra 1,000 files. Falta el filtre sobre owners_min, o falta un zero a 20000000.

Idees clau

  • Un gràfic de sectors mostra parts d'un tot. Només és acceptable quan els trossos sumen el 100 % d'alguna cosa real, n'hi ha cinc o menys i les diferències són òbvies. Si no, barres.
  • Un gràfic de sectors mostra parts de les files que li han donat. Amb un límit de files o un filtre continua semblant complet: Big Fish Games té l'1.06 % dels jocs, i un gràfic dels 10 primers en dibuixa el 22.7 %.
  • Un mapa de calor és una quadrícula de dues dimensions amb una mètrica com a color. Serveix per veure patrons, no per llegir valors.
  • Normalitzar un mapa de calor canvia amb què es compara cada color. Les dades continuen sent les mateixes; la pregunta canvia.
  • Un número gran mostra una xifra per recordar. Una taula mostra valors exactes per consultar, i pot revelar el que un gràfic amaga.
  • Comença per la pregunta, mai pel gràfic: vuit eines, vuit tipus de pregunta.

Comprovació ràpida

1. Quina d'aquestes és una de les tres condicions perquè un gràfic de sectors sigui acceptable?
  • Els trossos han d'estar ordenats alfabèticament
  • Cada tros ha de tenir un color brillant diferent
  • Els trossos són parts d'un tot i sumen el 100 %
  • Hi ha d'haver almenys deu trossos

Les tres condicions: parts d'un tot, pocs trossos (cinc com a màxim) i diferències òbvies. Si en falla una, el gràfic correcte és un gràfic de barres, perquè l'ull compara millor posicions que angles.

2. El gràfic de sectors del nivell de propietaris té trossos del 67.2 %, 30.5 % i 2.3 %. Per què és un gràfic de sectors honest?
  • Perquè els gràfics de sectors són sempre el millor gràfic per a percentatges
  • Cada joc és exactament en un nivell, només hi ha tres trossos i les diferències són òbvies
  • Perquè fa servir tres colors
  • Perquè el tros més petit és inferior al 5 %

Compleix les tres condicions: els nivells cobreixen tota la taula, tres trossos són pocs, i ningú no ha d'arrufar les celles per ordenar 67 %, 31 % i 2 %.

3. Un gràfic de sectors dels deu editors més grans mostra Big Fish Games al 23 % aproximadament. La seva part real de tots els jocs és l'1.06 %. Què ha anat malament?
  • La consulta que compta els jocs té un error
  • Superset arrodoneix els percentatges cap amunt
  • El gràfic de sectors mostra parts de les files que li han donat: deu editors de 13,951 no són el tot
  • Els gràfics de sectors no poden mostrar valors inferiors al 5 %

Els trossos d'un gràfic de sectors sempre sumen el 100 % del que hi ha a dins. Limita'l a deu files i 284 jocs passen a ser el 22.7 % de 1,252 en lloc de l'1.06 % de 26,685. El cercle sembla complet en tots dos casos.

4. Per a què serveix un mapa de calor?
  • Per llegir valors exactes ràpidament
  • Per mostrar parts d'un tot
  • Per veure on s'agrupen els valors alts i baixos entre dues dimensions
  • Per mostrar la distribució d'una columna numèrica

Un mapa de calor codifica la mètrica com a color, que l'ull llegeix de manera imprecisa. La seva força són els patrons: les zones calentes i fredes d'una quadrícula. Els valors exactes pertanyen a una taula; una columna numèrica pertany a un histograma.

5. Al primer mapa de calor de llançaments per mes i any, la columna de 2018 és la més fosca. Per què això no respon \"hi ha una temporada de llançaments?\"
  • Perquè els colors són incorrectes
  • Perquè 2018 té mesos que falten
  • Perquè cada cel·la es compara amb totes les altres, de manera que el creixement d'un any a l'altre amaga les diferències entre mesos
  • Perquè els mapes de calor no poden fer servir dates

Amb el color comparat entre les 60 cel·les, la imatge només repeteix el que deia el gràfic de línies: més jocs cada any. Normalitzar per any colora cada any respecte de si mateix, i aleshores apareix la fila pàl·lida de gener.

6. Què canvia quan normalitzes un mapa de calor?
  • Els recomptes de les cel·les
  • El nombre de files i columnes
  • Amb què es compara el color de cada cel·la
  • El tipus de gràfic

Els 60 números són idèntics abans i després. Només canvia la comparació: tota la quadrícula, o la columna de la cel·la. Mateixes dades, una altra pregunta.

7. Has de mostrar els set jocs més grans amb el seu editor, any, preu i propietaris. Quina eina encaixa millor?
  • Un gràfic de sectors amb set trossos
  • Un mapa de calor
  • Una taula
  • Un número gran

El lector necessita consultar valors exactes de diverses columnes d'unes poques files: això és una taula. A més revela que sis dels set són gratuïts, cosa que un gràfic d'una sola columna amagaria.

8. Una botiga vol quatre coses al seu quadre de comandament. Tria les dues opcions correctes.
  • La part de vendes en línia i en botiga: un gràfic de sectors, perquè són dues parts d'un tot
  • Quin dia de la setmana i hora té més vendes: un mapa de calor de dia de la setmana × hora, acolorit per vendes
  • Les vendes repartides entre les seves 40 categories de producte: un gràfic de sectors amb 40 trossos
  • Els ingressos totals d'aquest mes a la pantalla de la porta: un diagrama de dispersió

Dues parts d'un tot amb una diferència òbvia és el millor cas per a un gràfic de sectors. Dues dimensions i una mètrica és un mapa de calor. Quaranta trossos incompleixen la condició de "pocs trossos" (fes servir un gràfic de barres ordenat), i una xifra per recordar és un número gran.

Ara tens vuit eines i saps quina pregunta respon cadascuna. El pas següent és el difícil: rebre una pregunta sense cap pista sobre quina eina triar. Això és Triar el gràfic adequat.