You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/no/3-Data-Visualization/11-visualization-proportions
leestott b3d803186c
🌐 Update translations via Co-op Translator
4 weeks ago
..
README.md 🌐 Update translations via Co-op Translator 4 weeks ago
assignment.md 🌐 Update translations via Co-op Translator 4 weeks ago

README.md

Visualisering av proporsjoner

 Sketchnote av (@sketchthedocs)
Visualisering av proporsjoner - Sketchnote av @nitya

I denne leksjonen skal du bruke et annet naturfokusert datasett for å visualisere proporsjoner, som hvor mange forskjellige typer sopp som finnes i et gitt datasett om sopper. La oss utforske disse fascinerende soppene ved hjelp av et datasett hentet fra Audubon, som inneholder detaljer om 23 arter av skivesopper i Agaricus- og Lepiota-familiene. Du vil eksperimentere med smakfulle visualiseringer som:

  • Kakediagrammer 🥧
  • Smultringdiagrammer 🍩
  • Vaffeldiagrammer 🧇

💡 Et veldig interessant prosjekt kalt Charticulator fra Microsoft Research tilbyr et gratis dra-og-slipp-grensesnitt for datavisualiseringer. I en av deres opplæringer bruker de også dette soppdatasettet! Så du kan utforske dataene og lære biblioteket samtidig: Charticulator tutorial.

Quiz før leksjonen

Bli kjent med soppene dine 🍄

Sopper er veldig interessante. La oss importere et datasett for å studere dem:

import pandas as pd
import matplotlib.pyplot as plt
mushrooms = pd.read_csv('../../data/mushrooms.csv')
mushrooms.head()

En tabell skrives ut med noen flotte data for analyse:

class cap-shape cap-surface cap-color bruises odor gill-attachment gill-spacing gill-size gill-color stalk-shape stalk-root stalk-surface-above-ring stalk-surface-below-ring stalk-color-above-ring stalk-color-below-ring veil-type veil-color ring-number ring-type spore-print-color population habitat
Giftig Konveks Glatt Brun Blåmerker Stikkende Fri Tett Smal Svart Forstørret Lik Glatt Glatt Hvit Hvit Delvis Hvit En Hengende Svart Spredd Urban
Spiselig Konveks Glatt Gul Blåmerker Mandel Fri Tett Bred Svart Forstørret Klubbe Glatt Glatt Hvit Hvit Delvis Hvit En Hengende Brun Tallrik Gress
Spiselig Klokke Glatt Hvit Blåmerker Anis Fri Tett Bred Brun Forstørret Klubbe Glatt Glatt Hvit Hvit Delvis Hvit En Hengende Brun Tallrik Enger
Giftig Konveks Skjellete Hvit Blåmerker Stikkende Fri Tett Smal Brun Forstørret Lik Glatt Glatt Hvit Hvit Delvis Hvit En Hengende Svart Spredd Urban

Med en gang legger du merke til at alle dataene er tekstbaserte. Du må konvertere disse dataene for å kunne bruke dem i et diagram. De fleste dataene er faktisk representert som et objekt:

print(mushrooms.select_dtypes(["object"]).columns)

Utdataene er:

Index(['class', 'cap-shape', 'cap-surface', 'cap-color', 'bruises', 'odor',
       'gill-attachment', 'gill-spacing', 'gill-size', 'gill-color',
       'stalk-shape', 'stalk-root', 'stalk-surface-above-ring',
       'stalk-surface-below-ring', 'stalk-color-above-ring',
       'stalk-color-below-ring', 'veil-type', 'veil-color', 'ring-number',
       'ring-type', 'spore-print-color', 'population', 'habitat'],
      dtype='object')

Ta disse dataene og konverter 'class'-kolonnen til en kategori:

cols = mushrooms.select_dtypes(["object"]).columns
mushrooms[cols] = mushrooms[cols].astype('category')
edibleclass=mushrooms.groupby(['class']).count()
edibleclass

Nå, hvis du skriver ut soppdataene, kan du se at de har blitt gruppert i kategorier i henhold til giftig/spiselig-klassene:

cap-shape cap-surface cap-color bruises odor gill-attachment gill-spacing gill-size gill-color stalk-shape ... stalk-surface-below-ring stalk-color-above-ring stalk-color-below-ring veil-type veil-color ring-number ring-type spore-print-color population habitat
class
Spiselig 4208 4208 4208 4208 4208 4208 4208 4208 4208 4208 ... 4208 4208 4208 4208 4208 4208 4208 4208 4208 4208
Giftig 3916 3916 3916 3916 3916 3916 3916 3916 3916 3916 ... 3916 3916 3916 3916 3916 3916 3916 3916 3916 3916

Hvis du følger rekkefølgen presentert i denne tabellen for å lage etikettene for klassene dine, kan du lage et kakediagram:

Kake!

labels=['Edible','Poisonous']
plt.pie(edibleclass['population'],labels=labels,autopct='%.1f %%')
plt.title('Edible?')
plt.show()

Voila, et kakediagram som viser proporsjonene av disse dataene i henhold til de to klassene av sopper. Det er ganske viktig å få rekkefølgen på etikettene riktig, spesielt her, så sørg for å verifisere rekkefølgen når du bygger etikettarrayet!

kakediagram

Smultringer!

Et litt mer visuelt interessant kakediagram er et smultringdiagram, som er et kakediagram med et hull i midten. La oss se på dataene våre ved hjelp av denne metoden.

Se på de forskjellige habitatene hvor sopper vokser:

habitat=mushrooms.groupby(['habitat']).count()
habitat

Her grupperer du dataene dine etter habitat. Det er 7 oppførte, så bruk disse som etiketter for smultringdiagrammet ditt:

labels=['Grasses','Leaves','Meadows','Paths','Urban','Waste','Wood']

plt.pie(habitat['class'], labels=labels,
        autopct='%1.1f%%', pctdistance=0.85)
  
center_circle = plt.Circle((0, 0), 0.40, fc='white')
fig = plt.gcf()

fig.gca().add_artist(center_circle)
  
plt.title('Mushroom Habitats')
  
plt.show()

smultringdiagram

Denne koden tegner et diagram og en sirkel i midten, og legger deretter til den sirkelen i diagrammet. Endre bredden på sirkelen i midten ved å justere 0.40 til en annen verdi.

Smultringdiagrammer kan justeres på flere måter for å endre etikettene. Etikettene kan spesielt fremheves for bedre lesbarhet. Lær mer i dokumentasjonen.

Nå som du vet hvordan du grupperer dataene dine og deretter viser dem som kake eller smultring, kan du utforske andre typer diagrammer. Prøv et vaffeldiagram, som bare er en annen måte å utforske mengder på.

Vafler!

Et 'vaffel'-type diagram er en annen måte å visualisere mengder som et 2D-array av firkanter. Prøv å visualisere de forskjellige mengdene av soppens hattfarger i dette datasettet. For å gjøre dette må du installere et hjelpebibliotek kalt PyWaffle og bruke Matplotlib:

pip install pywaffle

Velg et segment av dataene dine for å gruppere:

capcolor=mushrooms.groupby(['cap-color']).count()
capcolor

Lag et vaffeldiagram ved å lage etiketter og deretter gruppere dataene dine:

import pandas as pd
import matplotlib.pyplot as plt
from pywaffle import Waffle
  
data ={'color': ['brown', 'buff', 'cinnamon', 'green', 'pink', 'purple', 'red', 'white', 'yellow'],
    'amount': capcolor['class']
     }
  
df = pd.DataFrame(data)
  
fig = plt.figure(
    FigureClass = Waffle,
    rows = 100,
    values = df.amount,
    labels = list(df.color),
    figsize = (30,30),
    colors=["brown", "tan", "maroon", "green", "pink", "purple", "red", "whitesmoke", "yellow"],
)

Ved hjelp av et vaffeldiagram kan du tydelig se proporsjonene av hattfarger i dette soppdatasettet. Interessant nok er det mange sopper med grønne hatter!

vaffeldiagram

Pywaffle støtter ikoner i diagrammene som bruker alle ikoner tilgjengelige i Font Awesome. Gjør noen eksperimenter for å lage et enda mer interessant vaffeldiagram ved å bruke ikoner i stedet for firkanter.

I denne leksjonen lærte du tre måter å visualisere proporsjoner på. Først må du gruppere dataene dine i kategorier og deretter bestemme hvilken som er den beste måten å vise dataene på - kake, smultring eller vaffel. Alle er deilige og gir brukeren et øyeblikksbilde av et datasett.

🚀 Utfordring

Prøv å gjenskape disse smakfulle diagrammene i Charticulator.

Quiz etter leksjonen

Gjennomgang og selvstudium

Noen ganger er det ikke åpenbart når man skal bruke et kake-, smultring- eller vaffeldiagram. Her er noen artikler du kan lese om dette emnet:

https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart

https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce

https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm

https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402

Gjør litt research for å finne mer informasjon om denne vanskelige avgjørelsen.

Oppgave

Prøv det i Excel


Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.