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/et/3-Data-Visualization/11-visualization-proportions
localizeflow[bot] b88ef67e42
chore(i18n): sync translations with latest source changes (chunk 1/1, 213 changes)
1 month ago
..
solution 🌐 Update translations via Co-op Translator 5 months ago
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 213 changes) 1 month ago
assignment.md chore(i18n): sync translations with latest source changes (chunk 1/1, 213 changes) 1 month ago
notebook.ipynb 🌐 Update translations via Co-op Translator 5 months ago

README.md

Proportsioonide visualiseerimine

 Sketchnote by (@sketchthedocs)
Proportsioonide visualiseerimine - Sketchnote by @nitya

Selles õppetükis kasutad loodusele keskenduvat andmestikku, et visualiseerida proportsioone, näiteks kui palju erinevaid seeneliike esineb antud andmestikus seente kohta. Uurime neid põnevaid seeni, kasutades Auduboni andmestikku, mis sisaldab üksikasju 23 liigi kohta, mis kuuluvad Agaricus ja Lepiota perekondadesse. Katsetad maitsvaid visualiseerimismeetodeid, nagu:

  • Pirukadiagrammid 🥧
  • Sõõrikdiagrammid 🍩
  • Vahvlidiagrammid 🧇

💡 Microsoft Researchi väga huvitav projekt nimega Charticulator pakub tasuta lohistamisliidest andmete visualiseerimiseks. Ühes nende õpetuses kasutatakse samuti seda seente andmestikku! Nii saad andmeid uurida ja samal ajal raamatukogu tundma õppida: Charticulator õpetus.

Eelloengu viktoriin

Tutvu oma seentega 🍄

Seened on väga huvitavad. Impordime andmestiku, et neid uurida:

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

Tabelis kuvatakse suurepärased andmed analüüsimiseks:

klass kübara kuju kübara pind kübara värv sinikad lõhn eoslehe kinnitus eoslehe vahe eoslehe suurus eoslehe värv jala kuju jala alus jala pind rõnga kohal jala pind rõnga all jala värv rõnga kohal jala värv rõnga all loor tüüp loor värv rõngaste arv rõnga tüüp eospulbri värv populatsioon elupaik
Mürgine Kumer Sile Pruun Sinikad Terav Vaba Tihe Kitsas Must Suurenev Võrdne Sile Sile Valge Valge Osaline Valge Üks Rippuv Must Hajus Linn
Söödav Kumer Sile Kollane Sinikad Mandli Vaba Tihe Lai Must Suurenev Klubikujuline Sile Sile Valge Valge Osaline Valge Üks Rippuv Pruun Arvukas Rohumaa
Söödav Kellukakujuline Sile Valge Sinikad Aniisi Vaba Tihe Lai Pruun Suurenev Klubikujuline Sile Sile Valge Valge Osaline Valge Üks Rippuv Pruun Arvukas Niit
Mürgine Kumer Kaaluline Valge Sinikad Terav Vaba Tihe Kitsas Pruun Suurenev Võrdne Sile Sile Valge Valge Osaline Valge Üks Rippuv Must Hajus Linn

Kohe märkad, et kõik andmed on tekstilised. Pead need andmed teisendama, et neid diagrammis kasutada. Enamik andmeid on tegelikult esitatud objektina:

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

Väljund on:

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')

Teisenda need andmed ja muuda 'klass' veerg kategooriaks:

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

Kui prindid seente andmed välja, näed, et need on rühmitatud kategooriatesse vastavalt mürgiste/söödavate klassidele:

kübara kuju kübara pind kübara värv sinikad lõhn eoslehe kinnitus eoslehe vahe eoslehe suurus eoslehe värv jala kuju ... jala pind rõnga all jala värv rõnga kohal jala värv rõnga all loor tüüp loor värv rõngaste arv rõnga tüüp eospulbri värv populatsioon elupaik
klass
Söödav 4208 4208 4208 4208 4208 4208 4208 4208 4208 4208 ... 4208 4208 4208 4208 4208 4208 4208 4208 4208 4208
Mürgine 3916 3916 3916 3916 3916 3916 3916 3916 3916 3916 ... 3916 3916 3916 3916 3916 3916 3916 3916 3916 3916

Kui järgida tabelis esitatud järjekorda klassi kategooria siltide loomiseks, saad koostada pirukadiagrammi:

Pirukas!

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

Voila, pirukadiagramm, mis näitab andmete proportsioone vastavalt nendele kahele seente klassile. On üsna oluline saada siltide järjekord õigeks, eriti siin, seega kontrolli kindlasti järjekorda, millega siltide massiiv on koostatud!

pirukadiagramm

Sõõrikud!

Visuaalselt huvitavam pirukadiagramm on sõõrikdiagramm, mis on pirukadiagramm, mille keskel on auk. Vaatame meie andmeid selle meetodi abil.

Vaata erinevaid elupaiku, kus seened kasvavad:

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

Siin rühmitad oma andmed elupaikade järgi. Neid on loetletud 7, seega kasuta neid sõõrikdiagrammi siltidena:

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()

sõõrikdiagramm

See kood joonistab diagrammi ja keskse ringi, seejärel lisab selle keskse ringi diagrammi. Muuda keskse ringi laiust, muutes 0.40 mõneks teiseks väärtuseks.

Sõõrikdiagramme saab mitmel viisil kohandada, et muuta silte. Eriti silte saab esile tõsta loetavuse parandamiseks. Loe rohkem dokumentatsioonist.

Nüüd, kui tead, kuidas oma andmeid rühmitada ja seejärel kuvada neid piruka või sõõrikuna, saad uurida teisi diagrammitüüpe. Proovi vahvlidiagrammi, mis on lihtsalt teistsugune viis koguste uurimiseks.

Vahvlid!

'Vahvli' tüüpi diagramm on teistsugune viis koguste visualiseerimiseks 2D ruutude massiivina. Proovi visualiseerida erinevaid seente kübara värvide koguseid selles andmestikus. Selleks pead installima abiraamatukogu nimega PyWaffle ja kasutama Matplotlibi:

pip install pywaffle

Vali oma andmetest segment, mida rühmitada:

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

Loo vahvlidiagramm, luues sildid ja seejärel rühmitades oma andmed:

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"],
)

Vahvlidiagrammi abil näed selgelt seente kübara värvide proportsioone selles andmestikus. Huvitaval kombel on palju rohelise kübaraga seeni!

vahvlidiagramm

PyWaffle toetab ikoone diagrammides, mis kasutavad kõiki ikoone, mis on saadaval Font Awesome lehel. Katseta, et luua veelgi huvitavam vahvlidiagramm, kasutades ruutude asemel ikoone.

Selles õppetükis õppisid kolme viisi proportsioonide visualiseerimiseks. Kõigepealt pead oma andmed rühmitama kategooriatesse ja seejärel otsustama, milline on parim viis andmete kuvamiseks - pirukas, sõõrik või vahvel. Kõik on maitsvad ja pakuvad kasutajale kohest ülevaadet andmestikust.

🚀 Väljakutse

Proovi neid maitsvaid diagramme uuesti luua Charticulatoris.

Järelloengu viktoriin

Ülevaade ja iseseisev õppimine

Mõnikord pole ilmne, millal kasutada piruka-, sõõriku- või vahvlidiagrammi. Siin on mõned artiklid, mida sellel teemal lugeda:

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

Tee uurimistööd, et leida rohkem teavet selle keerulise otsuse kohta.

Ülesanne

Proovi Excelis


Lahtiütlus:
See dokument on tõlgitud AI tõlketeenuse Co-op Translator abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.