11 KiB
Pagpapakita ng Proporsyon
![]() |
---|
Pagpapakita ng Proporsyon - Sketchnote ni @nitya |
Sa araling ito, gagamit ka ng dataset na may temang kalikasan upang ipakita ang proporsyon, tulad ng kung gaano karaming iba't ibang uri ng fungi ang makikita sa isang dataset tungkol sa kabute. Tuklasin natin ang mga kamangha-manghang fungi gamit ang dataset mula sa Audubon na naglalaman ng detalye tungkol sa 23 species ng gilled mushrooms sa mga pamilya ng Agaricus at Lepiota. Mag-eeksperimento ka sa masarap na mga visualisasyon tulad ng:
- Pie charts 🥧
- Donut charts 🍩
- Waffle charts 🧇
💡 Isang napaka-interesanteng proyekto na tinatawag na Charticulator mula sa Microsoft Research ang nag-aalok ng libreng drag-and-drop na interface para sa data visualizations. Sa isa sa kanilang mga tutorial, ginamit din nila ang dataset ng kabute! Kaya maaari mong tuklasin ang data at matutunan ang library nang sabay: Charticulator tutorial.
Pre-lecture quiz
Kilalanin ang Iyong mga Kabute 🍄
Ang mga kabute ay napaka-interesante. Mag-import tayo ng dataset upang pag-aralan ang mga ito:
mushrooms = read.csv('../../data/mushrooms.csv')
head(mushrooms)
Isang table ang ipinapakita na may magagandang datos para sa pagsusuri:
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Poisonous | Convex | Smooth | Brown | Bruises | Pungent | Free | Close | Narrow | Black | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
Edible | Convex | Smooth | Yellow | Bruises | Almond | Free | Close | Broad | Black | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Grasses |
Edible | Bell | Smooth | White | Bruises | Anise | Free | Close | Broad | Brown | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Meadows |
Poisonous | Convex | Scaly | White | Bruises | Pungent | Free | Close | Narrow | Brown | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
Edible | Convex | Smooth | Green | No Bruises | None | Free | Crowded | Broad | Black | Tapering | Equal | Smooth | Smooth | White | White | Partial | White | One | Evanescent | Brown | Abundant | Grasses |
Edible | Convex | Scaly | Yellow | Bruises | Almond | Free | Close | Broad | Brown | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Numerous | Grasses |
Mapapansin mo agad na ang lahat ng datos ay tekstwal. Kailangan mong i-convert ang datos na ito upang magamit ito sa isang chart. Karamihan sa datos, sa katunayan, ay kinakatawan bilang isang object:
names(mushrooms)
Ang output ay:
[1] "class" "cap.shape"
[3] "cap.surface" "cap.color"
[5] "bruises" "odor"
[7] "gill.attachment" "gill.spacing"
[9] "gill.size" "gill.color"
[11] "stalk.shape" "stalk.root"
[13] "stalk.surface.above.ring" "stalk.surface.below.ring"
[15] "stalk.color.above.ring" "stalk.color.below.ring"
[17] "veil.type" "veil.color"
[19] "ring.number" "ring.type"
[21] "spore.print.color" "population"
[23] "habitat"
Kunin ang datos na ito at i-convert ang 'class' column sa isang kategorya:
library(dplyr)
grouped=mushrooms %>%
group_by(class) %>%
summarise(count=n())
Ngayon, kung ipi-print mo ang datos ng kabute, makikita mo na ito ay na-grupo sa mga kategorya ayon sa poisonous/edible class:
View(grouped)
class | count |
---|---|
Edible | 4208 |
Poisonous | 3916 |
Kung susundin mo ang pagkakasunod na ipinakita sa table na ito upang lumikha ng iyong class category labels, maaari kang gumawa ng pie chart.
Pie!
pie(grouped$count,grouped$class, main="Edible?")
Voila, isang pie chart na nagpapakita ng proporsyon ng datos ayon sa dalawang klase ng kabute. Napakahalaga na makuha ang tamang pagkakasunod ng labels, lalo na dito, kaya siguraduhing i-verify ang pagkakasunod ng label array!
Donuts!
Ang isang mas visually interesting na pie chart ay isang donut chart, na isang pie chart na may butas sa gitna. Tingnan natin ang ating datos gamit ang pamamaraang ito.
Tingnan ang iba't ibang habitat kung saan tumutubo ang mga kabute:
library(dplyr)
habitat=mushrooms %>%
group_by(habitat) %>%
summarise(count=n())
View(habitat)
Ang output ay:
habitat | count |
---|---|
Grasses | 2148 |
Leaves | 832 |
Meadows | 292 |
Paths | 1144 |
Urban | 368 |
Waste | 192 |
Wood | 3148 |
Dito, ini-group mo ang iyong datos ayon sa habitat. Mayroong 7 na nakalista, kaya gamitin ang mga ito bilang labels para sa iyong donut chart:
library(ggplot2)
library(webr)
PieDonut(habitat, aes(habitat, count=count))
Ang code na ito ay gumagamit ng dalawang library - ggplot2 at webr. Gamit ang PieDonut function ng webr library, madali tayong makakagawa ng donut chart!
Ang mga donut chart sa R ay maaaring gawin gamit lamang ang ggplot2 library. Maaari kang matuto pa tungkol dito dito at subukan ito.
Ngayon na alam mo kung paano i-group ang iyong datos at ipakita ito bilang pie o donut, maaari mong tuklasin ang iba pang uri ng chart. Subukan ang waffle chart, na isang kakaibang paraan ng pagpapakita ng dami.
Waffles!
Ang 'waffle' type chart ay isang kakaibang paraan upang ipakita ang dami bilang isang 2D array ng mga square. Subukang ipakita ang iba't ibang dami ng mushroom cap colors sa dataset na ito. Upang gawin ito, kailangan mong mag-install ng helper library na tinatawag na waffle at gamitin ito upang lumikha ng iyong visualization:
install.packages("waffle", repos = "https://cinc.rud.is")
Pumili ng segment ng iyong datos upang i-group:
library(dplyr)
cap_color=mushrooms %>%
group_by(cap.color) %>%
summarise(count=n())
View(cap_color)
Gumawa ng waffle chart sa pamamagitan ng paglikha ng labels at pagkatapos ay i-group ang iyong datos:
library(waffle)
names(cap_color$count) = paste0(cap_color$cap.color)
waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual(values=c("brown", "#F0DC82", "#D2691E", "green",
"pink", "purple", "red", "grey",
"yellow","white"))
Gamit ang waffle chart, makikita mo nang malinaw ang proporsyon ng mga cap colors sa dataset ng kabute. Nakakatuwa, maraming green-capped mushrooms!
Sa araling ito, natutunan mo ang tatlong paraan upang ipakita ang proporsyon. Una, kailangan mong i-group ang iyong datos sa mga kategorya at pagkatapos ay magdesisyon kung alin ang pinakamahusay na paraan upang ipakita ang datos - pie, donut, o waffle. Lahat ay masarap at nagbibigay ng instant snapshot ng dataset sa user.
🚀 Hamon
Subukang muling likhain ang mga masarap na chart na ito sa Charticulator.
Post-lecture quiz
Review & Self Study
Minsan hindi halata kung kailan gagamit ng pie, donut, o waffle chart. Narito ang ilang artikulo na maaaring basahin tungkol sa paksang ito:
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
Mag-research upang makahanap ng higit pang impormasyon tungkol sa desisyong ito.
Assignment
Paunawa:
Ang dokumentong ito ay isinalin gamit ang AI translation service na Co-op Translator. Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.