# Visualisera relationer: Allt om honung 🍯 |![ Sketchnote av [(@sketchthedocs)](https://sketchthedocs.dev) ](../../../sketchnotes/12-Visualizing-Relationships.png)| |:---:| |Visualisera relationer - _Sketchnote av [@nitya](https://twitter.com/nitya)_ | FortsĂ€tt med naturfokuset i vĂ„r forskning och upptĂ€ck intressanta visualiseringar för att visa relationerna mellan olika typer av honung, baserat pĂ„ en dataset frĂ„n [United States Department of Agriculture](https://www.nass.usda.gov/About_NASS/index.php). Denna dataset med cirka 600 poster visar honungsproduktion i mĂ„nga amerikanska delstater. Du kan till exempel se antalet kolonier, avkastning per koloni, total produktion, lager, pris per pund och vĂ€rdet av den producerade honungen i en given delstat frĂ„n 1998-2012, med en rad per Ă„r för varje delstat. Det kan vara intressant att visualisera relationen mellan en given delstats produktion per Ă„r och till exempel priset pĂ„ honung i den delstaten. Alternativt kan du visualisera relationen mellan delstaters honungsavkastning per koloni. Denna tidsperiod tĂ€cker den förödande 'CCD' eller 'Colony Collapse Disorder' som först observerades 2006 (http://npic.orst.edu/envir/ccd.html), vilket gör det till en gripande dataset att studera. 🐝 ## [Quiz före lektionen](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22) I denna lektion kan du anvĂ€nda ggplot2, som du har anvĂ€nt tidigare, som ett bra bibliotek för att visualisera relationer mellan variabler. SĂ€rskilt intressant Ă€r anvĂ€ndningen av ggplot2:s `geom_point` och `qplot`-funktion som möjliggör spridningsdiagram och linjediagram för att snabbt visualisera '[statistiska relationer](https://ggplot2.tidyverse.org/)', vilket hjĂ€lper dataforskaren att bĂ€ttre förstĂ„ hur variabler relaterar till varandra. ## Spridningsdiagram AnvĂ€nd ett spridningsdiagram för att visa hur priset pĂ„ honung har utvecklats Ă„r för Ă„r, per delstat. ggplot2, med hjĂ€lp av `ggplot` och `geom_point`, grupperar bekvĂ€mt delstatsdata och visar datapunkter för bĂ„de kategoriska och numeriska data. LĂ„t oss börja med att importera data och Seaborn: ```r honey=read.csv('../../data/honey.csv') head(honey) ``` Du mĂ€rker att honungsdatan har flera intressanta kolumner, inklusive Ă„r och pris per pund. LĂ„t oss utforska denna data, grupperad efter amerikansk delstat: | state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year | | ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- | | AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 | | AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 | | AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 | | CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 | | CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 | | FL | 230000 | 98 |22540000 | 4508000 | 0.64 | 14426000 | 1998 | Skapa ett grundlĂ€ggande spridningsdiagram för att visa relationen mellan priset per pund honung och dess ursprungsdelstat i USA. Gör `y`-axeln tillrĂ€ckligt hög för att visa alla delstater: ```r library(ggplot2) ggplot(honey, aes(x = priceperlb, y = state)) + geom_point(colour = "blue") ``` ![spridningsdiagram 1](../../../../../translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.sv.png) Visa nu samma data med ett honungsfĂ€rgschema för att visa hur priset utvecklas över Ă„ren. Du kan göra detta genom att lĂ€gga till en 'scale_color_gradientn'-parameter för att visa förĂ€ndringen Ă„r för Ă„r: > ✅ LĂ€s mer om [scale_color_gradientn](https://www.rdocumentation.org/packages/ggplot2/versions/0.9.1/topics/scale_colour_gradientn) - prova ett vackert regnbĂ„gsfĂ€rgschema! ```r ggplot(honey, aes(x = priceperlb, y = state, color=year)) + geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7)) ``` ![spridningsdiagram 2](../../../../../translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.sv.png) Med denna fĂ€rgschemaĂ€ndring kan du tydligt se en stark utveckling över Ă„ren nĂ€r det gĂ€ller honungspriset per pund. Om du tittar pĂ„ ett urval av data för att verifiera (vĂ€lj en given delstat, till exempel Arizona) kan du se ett mönster av prisökningar Ă„r för Ă„r, med fĂ„ undantag: | state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year | | ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- | | AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 | | AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 | | AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 | | AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 | | AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 | | AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 | | AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 | | AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 | | AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 | | AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 | | AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 | | AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 | | AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 | | AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 | | AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 | Ett annat sĂ€tt att visualisera denna utveckling Ă€r att anvĂ€nda storlek istĂ€llet för fĂ€rg. För fĂ€rgblinda anvĂ€ndare kan detta vara ett bĂ€ttre alternativ. Redigera din visualisering för att visa en ökning av priset genom en ökning av punktens omkrets: ```r ggplot(honey, aes(x = priceperlb, y = state)) + geom_point(aes(size = year),colour = "blue") + scale_size_continuous(range = c(0.25, 3)) ``` Du kan se att storleken pĂ„ punkterna gradvis ökar. ![spridningsdiagram 3](../../../../../translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.sv.png) Är detta ett enkelt fall av utbud och efterfrĂ„gan? PĂ„ grund av faktorer som klimatförĂ€ndringar och kolonikollaps, finns det mindre honung tillgĂ€nglig för köp Ă„r för Ă„r, och dĂ€rmed ökar priset? För att upptĂ€cka en korrelation mellan nĂ„gra av variablerna i denna dataset, lĂ„t oss utforska nĂ„gra linjediagram. ## Linjediagram FrĂ„ga: Finns det en tydlig ökning av priset pĂ„ honung per pund Ă„r för Ă„r? Du kan enklast upptĂ€cka detta genom att skapa ett enda linjediagram: ```r qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab = "priceperlb") ``` Svar: Ja, med vissa undantag runt Ă„r 2003: ![linjediagram 1](../../../../../translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.sv.png) FrĂ„ga: Kan vi ocksĂ„ se en topp i honungstillgĂ„ngen Ă„r 2003? Vad hĂ€nder om du tittar pĂ„ total produktion Ă„r för Ă„r? ```python qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod") ``` ![linjediagram 2](../../../../../translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.sv.png) Svar: Inte riktigt. Om du tittar pĂ„ total produktion verkar det faktiskt ha ökat det Ă„ret, Ă€ven om mĂ€ngden honung som produceras generellt sett minskar under dessa Ă„r. FrĂ„ga: I sĂ„ fall, vad kan ha orsakat den prisökningen pĂ„ honung runt Ă„r 2003? För att upptĂ€cka detta kan du utforska ett facet grid. ## Facet grids Facet grids tar en aspekt av din dataset (i vĂ„rt fall kan du vĂ€lja 'Ă„r' för att undvika att skapa för mĂ„nga facetter). Seaborn kan sedan skapa en plot för varje av dessa facetter av dina valda x- och y-koordinater för enklare visuell jĂ€mförelse. Sticker Ă„r 2003 ut i denna typ av jĂ€mförelse? Skapa ett facet grid genom att anvĂ€nda `facet_wrap` som rekommenderas av [ggplot2:s dokumentation](https://ggplot2.tidyverse.org/reference/facet_wrap.html). ```r ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) + geom_line() + facet_wrap(vars(year)) ``` I denna visualisering kan du jĂ€mföra avkastning per koloni och antal kolonier Ă„r för Ă„r, sida vid sida med en wrap instĂ€lld pĂ„ 3 för kolumnerna: ![facet grid](../../../../../translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.sv.png) För denna dataset sticker inget sĂ€rskilt ut nĂ€r det gĂ€ller antalet kolonier och deras avkastning, Ă„r för Ă„r och delstat för delstat. Finns det ett annat sĂ€tt att hitta en korrelation mellan dessa tvĂ„ variabler? ## Dubbel-linjediagram Prova ett flerlinjediagram genom att lĂ€gga tvĂ„ linjediagram ovanpĂ„ varandra, med hjĂ€lp av R:s `par` och `plot`-funktion. Vi kommer att plotta Ă„ret pĂ„ x-axeln och visa tvĂ„ y-axlar. Visa avkastning per koloni och antal kolonier, överlagrade: ```r par(mar = c(5, 4, 4, 4) + 0.3) plot(honey$year, honey$numcol, pch = 16, col = 2,type="l") par(new = TRUE) plot(honey$year, honey$yieldpercol, pch = 17, col = 3, axes = FALSE, xlab = "", ylab = "",type="l") axis(side = 4, at = pretty(range(y2))) mtext("colony yield", side = 4, line = 3) ``` ![överlagrade diagram](../../../../../translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.sv.png) Även om inget sticker ut runt Ă„r 2003, lĂ„ter det oss avsluta denna lektion med en lite gladare ton: Ă€ven om det totalt sett Ă€r ett minskande antal kolonier, stabiliseras antalet kolonier Ă€ven om deras avkastning per koloni minskar. Heja bina, heja! đŸâ€ïž ## 🚀 Utmaning I denna lektion lĂ€rde du dig lite mer om andra anvĂ€ndningar av spridningsdiagram och linjediagram, inklusive facet grids. Utmana dig sjĂ€lv att skapa ett facet grid med en annan dataset, kanske en du anvĂ€nde tidigare i dessa lektioner. Notera hur lĂ„ng tid det tar att skapa och hur du behöver vara försiktig med hur mĂ„nga grids du behöver rita med dessa tekniker. ## [Quiz efter lektionen](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23) ## Granskning & SjĂ€lvstudier Linjediagram kan vara enkla eller ganska komplexa. LĂ€s lite i [ggplot2-dokumentationen](https://ggplot2.tidyverse.org/reference/geom_path.html#:~:text=geom_line()%20connects%20them%20in,which%20cases%20are%20connected%20together) om de olika sĂ€tten du kan bygga dem. Försök att förbĂ€ttra de linjediagram du byggde i denna lektion med andra metoder som listas i dokumentationen. ## Uppgift [Dyk in i bikupan](assignment.md) --- **Ansvarsfriskrivning**: Detta dokument har översatts med hjĂ€lp av AI-översĂ€ttningstjĂ€nsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strĂ€var efter noggrannhet, bör det noteras att automatiserade översĂ€ttningar kan innehĂ„lla fel eller felaktigheter. Det ursprungliga dokumentet pĂ„ dess originalsprĂ„k bör betraktas som den auktoritativa kĂ€llan. För kritisk information rekommenderas professionell mĂ€nsklig översĂ€ttning. Vi ansvarar inte för eventuella missförstĂ„nd eller feltolkningar som uppstĂ„r vid anvĂ€ndning av denna översĂ€ttning.