ВАЖНА ОБАВЕШТЕЊА

Велика почасна награда за тим RAF Penguins на светском финалу најпрестижнијег информатичког такмичења ICPC у Москви

Легендарни тим RAF Penguins наставља да бриљира на светској такмичарској програмерској сцени!

Тим студената Рачунарског факултета освојио је велику почасну награду (High Honors) на светском финалу ICPC такмичења - најпрестижнијег тимског такмичења у решавању алгоритамских проблема одржаном у Москви.

Тим RAF Penguins остварио је најбољи пласман од свих тимова из Србије до сада на финалима овог престижног такмичења, заузевши 24. место у конкуренцији 117 тимова из целог света. Овај феноменалан резултат забележио је тим који су чинили Алекса Милисављевић и Павле Мартиновић уз пратњу тренера Душана Здравковића, иако је тим био значајно ослабљен јер трећи члан RAF Penguins-a, Алекса Плавшић, није био у могућности да дође у Русију из објективних разлога.

Подсећања ради, сјајан тројац изборио је пласман у овогодишње светско финале ICPC такмичења освојивши треће место на регионалном ICPC такмичењу за југоисточну Европу које је одржано у октобру 2019. године у Букурешту. Првобитно је планирано да се светско финале ICPC такмичења одржи у јуну 2020. године, али је због неповољних епидемиолошких услова одложено и одржано 5. октобра ове године.

Врхунско програмерско знање талентовани студенти Рачунарског факултета показали су и у мају 2021. године на квалификацијама за светско финале ICPC за наредну годину, где су освојили златну медаљу и тиме обезбедили учешће на светском ICPC финалу 2022. године у Бангладешу.

Снимак целог ICPC такмичења у Москви можете погледати овде.

НАСТАВА НА РАЧУНАРСКОМ ФАКУЛТЕТУ У ШКОЛСКОЈ 2021/2022.

Пре почетка наставе сви студенти су се изјаснили да ли хоће наставу да прате у просторијама Факултета, или преко Zoom платформе од куће. Жеље студената II, III и IV године у потпуности су испуњене, док студенти I године, због превеликог броја заинтересованих, наставу прате на Факултету сваке друге недеље (задовољен критеријум од 4m2 по студенту).

Настава се одржава по унапред утврђеном, уобичајеном распореду. У свим учионицама обезбеђени су екрани по којима може да се пише и који су преузели улогу табли. Оно што се пише по екранима, као и унапред припремљене презентације, видљиве су преко пројектора студентима у учионицама, а студенти који наставу прате од куће виде то на свом екрану и чују глас наставника. И студенти који наставу прате од куће могу да постављају питања, да одговарају на питања наставника и на други начин учествују у настави.

Сваки одржани час аутоматски се снима, тако да је доступан студентима и за касније прегледање.

Рачунарски факултет

Студијски програми

Crtanje u R-u sa echarts4r

Naučite kako da pravite sve, od osnovnih linijskih grafikona do utrkujućih trakastih dijagrama - interaktivnih i lako animiranih - pomoću R paketa echarts4r. Iako za statične grafike uglavnom koristim ggplot2, uvek tražim načine za interaktivnu vizualizaciju. Paket echarts4r je jedan od mojih novih omiljenih paketa za to. Intuitivan je, moćan i fleksibilan. Paket echarts4r je R omotač za JavaScript biblioteku echarts, zvanični projekat fondacije Apache Software (napredovao iz statusa inkubatora u decembru). To mi pomaže da se samouvereno oslonim na JavaScript kôd na kojem se zasniva R paket.

Pa, pogledajmo echarts4r.

Autor paketa John Coene objašnjava osnove na početnoj stranici:

  • Svaka funkcija u paketu počinje sa e_.

· Kodiranje vizualizacije započinjete stvaranjem echarts objekta pomoću funkcije e_charts (). Ona kao argumente prima vaš okvir podataka i kolonu x-ose.

· Dalje, dodajete funkciju za tip grafikona (e_line (), e_bar () itd.) sa nazivom kolone niza y-ose kao argumentom.

  • Ostalo je uglavnom prilagođavanje!

Hajde da pogledamo.

Linijski grafikon sa echarts4r

Kao primer podataka, preuzeo sam i preuredio neke informacije o cenama stanova iz američkih gradova sa Zillowa. Ako želite da pratite primer, uputstva za podatke se nalaze na kraju ovog članka.

Moj okvir podataka, houses_wide, sadrži po jednu kolonu za svaki mesec (upravo gledam decembar za sve godine počevši od 2007.) i kolone za svaki grad.

Classes ‘data.table’ and 'data.frame': 14 obs. of 10 variables:

$ Month : Factor w/ 14 levels "2007-12-31","2008-12-31",..: 1 2 3 4 5 6 7 8 9 10 ...

$ Austin : num 247428 240695 237653 232146 230383 ...

$ Boston : num 400515 366284 352017 363261 353877 ...

$ Charlotte : num 193581 185012 174552 162368 150636 ...

$ Chicago : num 294717 254638 215646 193368 171936 ...

$ Dallas : num 142281 129887 130739 122384 115999 ...

$ New York : num 534711 494393 459175 461231 450736 ...

$ Phoenix : num 239798 177223 141344 123984 114166 ...

$ San Francisco: num 920275 827897 763659 755145 709967 ...

$ Tampa : num 248325 191450 153456 136778 120058 ...

Počeću sa učitavanjem paketa echarts4r i dplyr. Imajte na umu da za pristup najnovijoj verziji JavaScript biblioteke echarts koristim razvojnu verziju echarts4r. Verziju za programere možete instalirati pomoću ovih redova:

remotes::install_github"JohnCoene/echarts4r")
library(echarts4r)
library(dplyr)

U sledećem kodu kreiram osnovni echarts4r objekat sa Month kao kolonom x-ose.

houses_wide %>%
e_charts(x = Month)

Ako vam je poznat ggplot, ovaj prvi korak je sličan: kreira objekat, ali u vizualizaciji još nema podataka. Videćete x osu, ali nema y ose ni podataka.

U zavisnosti od širine pretraživača, sve oznake osa se možda neće prikazati, jer je echarts4r podrazumevano responsivan - ne morate da brinete da li će oznake osa međusobno da se prepišu ako nema dovoljno mesta za sve.

Zatim ću dodati željeni tip grafikona i kolonu y ose. Za linijski grafikon, to je funkcija e_line (). Potreban joj je najmanje jedan argument, kolona sa vrednostima. Argument se naziva serija, kao jednina za serije.

houses_wide %>%
e_charts(x = Month) %>%
e_line(serie = `San Francisco`)

 

 

Dostupni su mnogi drugi tipovi grafikona, uključujući trakaste grafikone sa e_bar (), grafikone područja e_area (), raspršene dijagrame e_scatter (), grafikone okvira e_boxplot (), histograme e_histogram (), toplotne mape e_heatmap (), mape stabla e_tree () , oblake reči e_cloud () i kružne grafikone e_pie (). Kompletnu listu možete videti na veb lokaciji paketa echarts4r ili u fajlovima pomoći.

Svaka od funkcija za tip grafikona prima imena argumenata bez navodnika. To je slično kao za ggplot.

Ali većina ovde navedenih funkcija ima verzije koje primaju imena kolona u navodnicima. To vam omogućava da koristite imena promenljivih kao argumente. John Coene naziva te funkcije "escape-hatch" funkcije, one na kraju imena funkcije imaju donju crtu, kao što je:

e_line(Boston)
my_city <- "Boston"
e_line_(my_city)

Ovo olakšava stvaranje funkcija iz koda grafikona.

Zatim ću dodati drugi grad sa drugom funkcijom e_line ().

houses_wide %>%
e_charts(x = Month) %>%
e_line(serie = `San Francisco`) %>%
e_line(serie = Boston)

Podrazumevano se opisi alatki ne prikazuju, ali mogu da ih dodam pomoću funkcije e_tooltips (). Primetite da se vrednostima opisa podrazumevano dodaju zarezi , što je lepo.

Ali ovde bi opis mogao da bude još korisniji ako bi se videle obe vrednosti istovremeno. To može da se uradi pomoću ove funkcije:

e_tooltip(trigger = "axis")

Ovaj linijski grafikon mogu da pretvorim u grupisani trakasti grafikon ako e_line ()zamenim sa e_bar ().

Prilagodite boje grafikona pomoću echarts4r

Verovatno ćete u jednom trenutku želeti da prilagodite boje za svoje grafikone. Postoji 13 ugrađenih tema, koje mogu da se vide na veb lokaciji echarts4r. U donjem kodu najpre sačuvam grafikon u promenljivu zvanu p, tako da ne moram stalno da ponavljam taj kôd. Zatim dodam temu, u ovom slučaju inspirisanu pčelom, sa e_theme („bee-inspired“)

p <- houses_wide %>%
e_charts(x = Month) %>%
e_line(serie = `San Francisco`) %>%
e_line(serie = Boston) %>%
e_tooltip(trigger = "axis")
p %>%
e_theme("bee-inspired")

Možete da napravite vlastitu temu od nule ili da izmenite postojeću. Tu vam može pomoći onlajn alat za pravljenje tema . Da biste koristili taj alat, pravili svoja prilagođavanja, preuzmite JSON fajl za svoju temu i dodajte je u grafikon pomoću e_theme_custom ("ime_moje_teme").

Takođe možete da podesite temu direktno u kodu grafikona - na primer, promenite boju pozadine u temi pomoću koda kao što je:

p %>%
e_theme_custom("mytheme.json") %>%
e_color(background = "ivory")

Međutim, za prilagođavanje grafikona ne morate da koristite temu; funkcija e_color () radi i na podrazumevanim elementima grafa. Prvi argument za e_color () je vektor boja za vaše linije, trake, tačke, bilo šta drugo. U sledećem kodu najpre pravim vektor od tri boje (koristeći imena boja ili heksadecimalne vrednosti). Zatim dodam taj vektor kao prvi argument u e_color ():

my_colors <- c("darkblue", "#03925e", "purple")
p <- houses_wide %>%
e_charts(x = Month) %>%
e_line(serie = `San Francisco`) %>%
e_line(serie = Boston) %>%
e_line(serie = Austin) %>%
e_tooltip(trigger = "axis") %>%
e_color(my_colors)

Palete RColorBrewer

Ne vidim da su palete RColorBrewer ugrađene u echarts4r kao što su u ggplot-u, ali lako možete sami da ih dodate. U sledećem segmentu koda učitavam biblioteku RColorBrewer i pravim vektor boja pomoću funkcije brewer.pal (). Potrebne su mi tri boje iz palete Dark2 (jedne od mojih omiljenih):

library(RColorBrewer)
my_colors <- brewer.pal(3, "Dark2")
my_colors
## [1] "#1B9E77" "#D95F02" "#7570B3"
p %>%
e_color(my_colors)

echarts4r line chart with an RColorBrewer palette

Snimak ekrana Sharon Machlis, IDG

linijski grafikon echarts4r sa RColorBrewer paletom.

Palete paletteer

Inače, sličan format vam omogućava da koristite paket R paletteer za pristup gomili R paleta iz mnogo različitih paketa R paletteer. Kôd u nastavku pretražuje paletu Color_Blind iz kolekcije ggthemes i bira prvu, drugu i petu od tih boja.

library(paletteer)
paletteer_d("ggthemes::Color_Blind")
my_colors <- paletteer_d("ggthemes::Color_Blind")[c(1,2,5)]
p %>%
e_color(my_colors)

color-blind palette from ggthemes

Snimak ekrana Sharon Machlis, IDG

Paleta Color-blind iz ggthemes

Ako niste upoznati sa paketom paletteer, funkcija paletteer_d () pristupa svakoj dostupnoj paleti diskretnih boja. Ovde sam tražio Color_Blind od ggthemes i za vektor my_colors izabrao boje 1, 2 i 5.

„Uredni“ podaci dugog formata

Ako u vašim podacima ima puno serija, verovatno ne želite da svaku od njih upisujete po imenu u zasebnom pozivu funkcije. I ne morate. echarts4r elegantno obrađuje „uredne“ podatke dugog formata.

Za ovu grupu primera koristiću okvir podataka u dugačkom formatu sa informacijama condo. Informacije o tome kako da napravite vlastitu kopiju tih podataka nalaze se na kraju ovog članka.

Ne propustite sledeću grupu koda: Koristim dplyr funkciju group_by () na okviru podataka pre nego što na njemu pokrenem e_charts (), a echarts4r to razume. Sada, ako kažem echarts4r-u da koristi Month za x osu i Value za y osu, on zna da svaku grupu upotrebi kao zasebnu seriju. (Ovaj grafikon takođe čuvam u promenljivoj koja se zove myplot.)

myplot <- condos %>%
group_by(City) %>% #<<
e_charts(x = Month) %>%
e_line(serie = Value) %>%
e_tooltip(trigger = "axis")
myplot

echarts4r line chart with legend at the top

Snimak ekrana Sharon Machlis, IDG

linijski grafikon echarts4r sa legendom na vrhu

Legenda na vrhu grafikona ipak nije od velike pomoći. Ako želim da pronađem Tampu (ružičastu liniju), mogu da pređem mišem preko legende, ali i dalje će biti teško videti istaknutu ružičastu liniju sa toliko drugih linija u njenoj blizini. Srećom, postoji rešenje.

Prilagođena legenda

U sledećoj grupi koda na grafikon dodajem funkcije e_grid () i e_legend ().

myplot %>%
e_grid(right = '15%') %>%
e_legend(orient = 'vertical',
right = '5', top = '15%')

Funkcija e_grid (right = '15% ') kaže da želim da moja glavna vizuelizacija grafikona ima 15% popune na desnoj strani. Funkcija e_legend () kaže da legenda bude vertikalna, a ne horizontalna, dodaje popunu od pet piksela s desne strane i dodaje popunu od 15% na vrhu.

Line chart with legend on the side

Snimak ekrana Sharon Machlis, IDG

Linijski grafikon sa legendom sa strane.

To pomaže, ali ako želim da vidim samo Tampu, moram da kliknem na sve ostale stavke u legendi da bih ih isključio. Neki interaktivni alati za vizuelizaciju podataka omogućavaju vam dvostruki klik na stavku da biste prikazali samo nju. echarts ovo rešava malo drugačije: Možete dodati dugmad koja „invertuju“ postupak biranja, tako da vidite samo stavke koje kliknete.

Da bih to uradio, dodao sam u funkciju e_legend ()argument selector. Video sam tu dugmad u primerku JavaScript echart grafikona gde se koristio selector, ali (koliko znam) ta funkcionalnost nije ugrađena u echarts4r. John je samo čvrsto kodirao neke funkcije u omot; ali možemo sve da ih koristimo - uz pravilnu sintaksu.

Prevođenje JavaScript-a u echarts4r R kôd

Kratka digresija za malo objašnjenje „kako ovo funkcioniše ispod haube“. Sledi primer koji John Coene ima na sajtu echarts4r. Na slici možete videti originalnu echarts dokumentaciju za JavaScript (verovatno ćete morati da kliknete da biste je proširili): tooltip.axisPointer.type.

tooltip je dostupna funkcija echarts4r, e_tooltip (), tako da je možemo koristiti u R. axisPointer je opcija opisa, ali nije deo R paketa. Jedna od opcija za axisPointer je type, koji može imati vrednost line, shadow, none, ili cross.

accesspointer

Apache Software Foundation

Dakle, moramo da prevedemo taj JavaScript u R. To možemo da uradimo koristeći axisPointer kao argument za e_tooltip (). Evo važnog dela: Za vrednost axisPointer kreiramo listu sa listom koja sadrži type = "cross".

e_tooltip(axisPointer = list(type = "cross"))

Ako znate kako ovo funkcioniše, imate na raspolaganju svu snagu i fleksibilnost čitave JavaScript biblioteke echarts, a ne samo funkcije i argumente koje je John Coene kodirao u paket.

Da biste kreirali dva dugmeta za izbor, ovo je JavaScript sintaksa sa sajta echarts:

selector: [
{
type: 'inverse',
title: 'Invert'
},
{
type: 'all or inverse',
title: 'Inverse'
}
]

A ovo je R sintaksa:

e_legend(  
selector = list(
list(type = 'inverse', title = 'Invert'),
list(type = 'all', title = 'Reset')
)
)

Svaki par ključ / vrednost dobija svoju listu u okviru liste selector. Sve je lista, ponekad ugnežđena. To je to!

Naslovi dijagrama u echarts4r

OK, okrenimo se nečemu lakšem: naslovu za naš grafikon. echarts4r ima funkciju e_title () koja može da prima argumente, text za tekst naslova, subtext za tekst podnaslova, kao i link i sublink ako želite da dodate URL na koji se može kliknuti bilo u naslovu ili podnaslovu.

Ako želim da promenim poravnanje naslova i podnaslova, argument je left. left može za vrednost da primi broj za koliko želite popune između leve ivice i početka teksta, ili može da primi center ili right za poravnanje kao što vidite ovde:

myplot %>% 
e_title(text = "Monthly Median Single-Family Home Prices",
subtext = "Source: Zillow.com",
sublink = "https://www.zillow.com/research/data/",
left = "center"
)

left = "center" nije baš intuitivno za nove korisnike, ali ima smisla ako znate šta je.

Dijagrami u boji po kategorijama sa echarts4r

Za ove prikaze sa bojama po grupama koristiću skup podataka sa kolonama za grad, mesec, vrednost stana, vrednost porodične kuće i „region“ (koji sam upravo napravio za bojenje po grupama; to nije Zillowljev region).

head(all_data_w_type_columns, 2)
    City      Month  Condo SingleFamily Region
1 Austin 2007-12-31 221734       247428  South
2 Austin 2008-12-31 210860       240695  South

Sledi kôd za raspršeni dijagram da bi se videlo da li se cene porodičnih kuća i stanova kreću ujednačeno. Pošto sam na podacima koristio dplyr funkciju group_by () pre nego što sam kreirao raspršeni dijagram, grafikon je obojen po regionima. Takođe sam mogao da podesim veličinu tačke pomoću symbol_size.

Ovaj blok koda dodaje još nešto na dijagram: nekoliko „alatki“ u gornjem desnom uglu grafikona. Uključio sam zumiranje, resetovanje, pregled osnovnih podataka i čuvanje dijagrama kao slike, ali postoji i nekoliko drugih.

all_data_w_type_columns %>% 
group_by(Region) %>%
e_charts(SingleFamily) %>%
e_scatter(Condo, symbol_size = 6) %>%
e_legend(FALSE) %>%
e_tooltip() %>%
e_toolbox_feature("dataZoom") %>%
e_toolbox_feature(feature = "reset") %>%
e_toolbox_feature("dataView") %>%
e_toolbox_feature("saveAsImage")

Scatter plot with echarts4r

Snimak ekrana Sharon Machlis, IDG

Dostupno je nekoliko statističkih funkcija, uključujući linije regresije i linije odstupanja, kao što su e_lm(Condo ~ SingleFamily, color = "green") za dodavanje linearne linije regresije.

Animacije sa echarts4r

Završiću našu turneju echarts4r sa nekoliko lakih animacija.

Za ove prikaze koristiću podatke američkog CDC-a o vakcinaciji po državama: primenjene doze u poređenju sa isporučenim dozama vakcina, da bi se videlo koje države najbolje rade na tome da ljudima brzo daju vakcine u ruku. Kolona koju želim grafički da prikažem je PctUsed. Takođe sam dodao kolonu u boji kad želim da istaknem jednu državu drugom bojom, u ovom slučaju Masačusets.

Podatke možete preuzeti sa GitHub-a:

mydata <- readr::read_csv("https://gist.githubusercontent.com/smach/194d26539b0d0deb9f6ac5ca2e7d49d0/raw/f0d3362e06e3cb7dbfc0c9df67e259f1e9dfb898/timeline_data.csv")
str(mydata)
spec_tbl_df [112 × 7] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
 $ State            : chr [1:112] "CT" "MA" "ME" "NH" ...
 $ TotalDistributed : num [1:112] 740300 1247600 254550 257700 3378300 ...
 $ TotalAdministered: num [1:112] 542414 806376 178449 166603 2418074 ...
 $ ReportDate       : Date[1:112], format: "2021-02-08" "2021-02-08" "2021-02-08" "2021-02-08" ...
 $ Used             : num [1:112] 0.733 0.646 0.701 0.646 0.716 ...
 $ PctUsed          : num [1:112] 73.3 64.6 70.1 64.6 71.6 62.7 77.8 72.1 62.5 70.1 ...
 $ color            : chr [1:112] "#3366CC" "#003399" "#3366CC" "#3366CC" 

Sledi kôd za animirani vremenski niz. Ako svoje podatke grupišem po datumu, u e_charts ()dodam timeline = TRUE a u funkciju opcija vremenske trake dodam autoPlay = TRUE, napraviću vremensku liniju za automatsko puštanje. timeline = TRUE je vrlo jednostavan način animiranja podataka po vremenu na trakastom grafikonu.

U ostatku ove sledeće grupe koda podesio sam da trake budu jednobojne koristeći argument itemStyle. Ostatak koda je dodatno stilsko oblikovanje: Isključiivanje legende, dodavanje oznaka za trake sa e_labels (), dodavanje naslova sa fontom veličine 24 i ostaviljanje razmaka od 100 piksela između vrha grafikona i vrha celokupne vizuelizacije.

mydata %>% 
group_by(ReportDate) %>% #<<
e_charts(State, timeline = TRUE) %>% #<<
e_timeline_opts(autoPlay = TRUE, top = 40) %>% #<<
e_bar(PctUsed, itemStyle = list(color = "#0072B2")) %>%
e_legend(show = FALSE) %>%
e_labels(position = 'insideTop') %>%
e_title("Percent Received Covid-19 Vaccine Doses Administered",
left = "center", top = 5,
textStyle = list(fontSize = 24)) %>%
e_grid(top = 100)

Pokrenite kôd na svom sistemu ako želite da vidite animiranu verziju ovog statičkog dijagrama:

echarts4r timeline

Snimak ekrana Sharon Machlis, IDG

Statička slika animirane vremenske linije echarts4r.

Animiranje linijskog grafikona je jednostavno dodavanje funkcije e_animation (). Grafikoni su podrazumevano animirani, ali možete produžiti trajanje da biste stvorili uočljiviji efekat, kao što je e_animation (duration = 8000):

mydata %>%
group_by(State) %>%
e_charts(ReportDate) %>%
e_line(PctUsed) %>%
e_animation(duration = 8000)

Predlažem da i ovaj kôd pokušate da pokrenete lokalno da biste videli efekat animacije.

Utrkujuće trake

Utrkujuće trake su dostupne u verziji echarts 5. U vreme objavljivanja ovog članka bila bi potrebna GitHub verzija echarts4r (paket R) da biste koristili funkcije echarts verzije 5 (iz JavaScript biblioteke). Kako izgledaju utrkujuće trake možete videti na mom videu:

https://youtu.be/j9H8QF8trmA

Ovo je ceo kôd:

mydata %>%
group_by(ReportDate) %>%
e_charts(State, timeline = TRUE) %>%
e_bar(PctUsed, realtimeSort = TRUE, itemStyle = list(
borderColor = "black", borderWidth = '1')
) %>%
e_legend(show = FALSE) %>%
e_flip_coords() %>%
e_y_axis(inverse = TRUE) %>%
e_labels(position = "insideRight",
formatter = htmlwidgets::JS("
function(params){
return(params.value[0] + '%')
}
") ) %>%
e_add("itemStyle", color) %>%
e_timeline_opts(autoPlay = TRUE, top = "55") %>%
e_grid(top = 100) %>%
e_title(paste0("Percent Vaccine Dose Administered "),
subtext = "Source: Analysis of CDC Data",
sublink = "https://covid.cdc.gov/covid-data-tracker/#vaccinations",
left = "center", top = 10)

 

Objašnjenje koda za utrkujuće trake

Kôd započinje okvirom podataka, a zatim koristi dbyr funkciju group_by () za grupisanje podataka po datumu - za vremenske linije i utrkujuće trake morate da grupišete po datumu.

Sledeće, kreiram objekat e_charts sa državom kao x osom, a uključujem timeline = TRUE i dodam e_bar (PctUsed) da napravim trakasti grafikon koristeći kolonu PctUsed za y vrednosti. Jedna nova stvar koju još uvek nismo pokrili je realtimeSort = TRUE.

Drugi kôd unutar e_bar () stvara crnu liniju obruba oko traka (nije potrebno, ali znam da bi neki ljudi želeli da znaju kako se to radi). Takođe isključujem legendu, jer ovde nije od pomoći.

Sledeći red, e_flip_coords (), menja grafikon iz vertikalnih u horizontalne trake. e_y_axis (inverse = TRUE) sortira trake od najveće do najmanje.

Funkcija e_labels () dodaje oznaku vrednosti unutar trake sa desne strane. Sav formatter kôd koristi JavaScript za izradu prilagođenog formata u prikazu oznaka - u ovom slučaju dodajem znak procenta. To nije obavezno.

Formatiranje oznaka i opisa alatki

Korisno je znati sintaksu za formate, jer istu sintaksu možete koristiti za prilagođavanje opisa alata. params.value [0] je vrednost x-ose, a params.value [1] je vrednost y-ose. Vrednosti i nizove u JavaScriptu spajate pomoću znaka plus. Na primer:

formatter = htmlwidgets::JS("
function(params){
return('X equals ' + params.value[0] + 'Y equals' + params.value[1])
}

Na sajtu echarts4r nalazi se više informacija o formatiranju opisa alata.

Funkcija e_add ("itemStyle", color) je mesto gde boje iz kolone color u mojim podacima preslikavam na trake, koristeći itemStyle. Ovo se prilično razlikuje od sintakse ggplot, pa može da vam zatreba malo vremena za navikavanje ako ste koristili tidyverse.

Na kraju sam dodao naslov i podnaslov, URL kojem se pristupa klikom na podnaslov i nešto popune oko mreže grafikona i naslova, tako da ne naleću jedni na druge. Pokrenite ovaj kôd i trebalo bi da dobijete utrkujuće trake.

Više resursa

Više informacija o echarts4r potražite na veb lokaciji paketa na https://echarts4r.john-coene.com i na veb lokaciji biblioteke echarts na https://echarts.apache.org. A za više R saveta i vodiča, posetite moju stranicu „Do more with R“!

Uputstva za podatke

Idite na https://www.zillow.com/research/data/ i preuzmite podatke kuća ZHVI Single-Family Home Time Series by city i podatke stanova ZHVI Condo/Co-op Time Series by city. Zatim pokrenite sledeće:

library(data.table)
library(dplyr)
library(echarts4r)
process_file <- function(filename, hometype) {
mydata_all <- data.table::fread(filename)
mycols <- grep("((2007)|(2008)|(2009)|(201.)|(202.))-12-", names(mydata_all), value = T)
mydata_all[, RegionID := as .character(RegionID)]
myregionids <- c("38128", "10221", "24043", "44269", "6181", "20330", "17426", "40326", "41176")
mydata <- mydata_all[RegionID %chin% myregionids, c("RegionName", mycols), with = FALSE]
setnames(mydata, "RegionName", "City")
mydt <- melt(mydata, id.vars = "City", variable.name = "Month", value.name = "Value")
mydt[, Region := fcase(
City %chin% c("New York", "Boston"), "Northeast",
City %chin% c("Dallas", "Austin", "Charlotte", "Tampa"), "South",
default = "Other"
)]
setorder(mydt, City)
mydt[, HomeType := hometype]
return (mydt)
}
houses <- process_file("data/City_zhvi_uc_sfr_tier_0.33_0.67_sm_sa_mon.csv", "SingleFamily")
houses_wide <- dcast(houses[, c("City", "Month", "Value")], Month ~ City)
condos <- <- process_file("data/City_zhvi_uc_condo_tier_0.33_0.67_sm_sa_mon.csv", "Condo")

Izvor: InfoWorld

  • NeuroTechX глобални хакатон на РАФ-у

    На Рачунарском факултету у Београду 29. и 30. октобра одржаће се NeuroTechX глобални хакатон у области неуротехнологије и биоинжењеринга на ком учествује десет земаља света. Рачунарски факултет организује хакантон у сарадњи са светском организацијом NeuroTechX која има свој огранак у Србији под називом NeuroTechX Београд који је основала професорка РАФ-а др Јелена Младеновић. Хакатон ће се одржати у РАФ Labu, а такмичарима ће бити доступна опрема коју обезбеђује РАФ (Arduino, електричне компоненте и сензоре, Raspberry Pi, 3D printer итд.), док компанија mBrainTrain обезбеђује EEG уређај за мерење мождане активности, а компанија Ullo обезбеђује дисајне појасеве.  

  • Компанија Decenter додељује пет новчаних стипендија студентима РАФ-а

    Рачунарски факултет у сарадњи са компанијом Decenter пред нову школску годину доноси сјајну новост за актуелне студенте треће године (2021/2022.) студијског програма Рачунарске науке. Decenter додељује пет новчаних стипендија у износу од 1000 евра студентима са највишим просеком који су положили све предмете из прве, друге и треће године студија.  

  • Grand prix на фестивалу FID Marseille за српски филм “Кристина”

    Српски дугометражни филм “Кристина” редитеља и доцента на катедри за дизајн Рачунарског Факултета Николе Спасића освојио је Grand prix на 33. Међународном филмском фестивалу у Марсеју – FIDMarseille у категорији Први филм (First Film Award). Овај цењени европски фестивал ауторског филма посвећен је промоцији нових филмских израза, а ове године су се филмови из целог света такмичили у 5 различитих категорија, и том приликом су имали своје светске премијере.

  • Тим РАФ-а освојио сребрну медаљу на ICPC регионалном такмичењу у програмирању југоисточне Европе - SEERC

    Тим Рачунарског факултета GII Klub, који чине Алекса Милисављевић и Павле Мартиновић, чланови сјајног тима RAF Penguins, као и Младен Пузић, уз тренера Душана Здравковића, заузео је четврто место и освојио сребрну медаљу на ICPC регионалном такмичењу у програмирању југоистичне Европе – SEERC. На такмичењу, које су онлајн организовали Politehnica University of Bucharest (Румунија) и Vinnytsia National Technical University (Украјина), учествовало 120 тимова са 57 универзитета из 7 земаља - Бугарске, Грчке, Македоније, Румуније, Украјине, Србије и Турске. Тим РАФ-а је остварио изузетан успех и једини је тим из Србије који је освојио медаљу.

  • Стипендисти Рачунарског факултета 2022/2023.

    Рачунарски факултет и наредне школске године наставља са традицијом стипендирања ученика за бесплатно четворогодишње студирање на РАФ-у. Петнаест матураната је добило стипендију за бесплатно четврогодишње школовање на Рачунарском факултету, док је пет матураната добило полустипендију која подразумева попуст од 50% за четврогодишње школовање на РАФ-у. Ученици су одабрани на основу постигнућа на такмичењима из математике, информатике и физике.

  • РАФ успоставио сарадњу са НИС-ом

    Компанија НИС и Рачунарски факултет Универзитета Унион успоставили су сарадњу у области образовања, истраживања и трансфера знања. Меморандум о сарадњи су потписали Вадим Смирнов, заменик генералног директора НИС-а и Бојана Димић Сурла, декан Рачунарског факултета. Циљ овог меморандума је повезивање научног рада факултета са пословним активностима НИС-а, што ће допринети научној афирмацији факултета и успешнијем пословању компаније. Меморандумом су предвиђена размена знања и искустава, научна истраживања и научно-консултативне услуге, обуке и тренинзи, учешће у заједничким пројектима, организација узајамних гостујућих предавања, као и укључивање студената у програме НИС-а намењене младима и стручне праксе, у складу са потребама и могућностима компаније. Сарадња НИС-а и Рачунарског факултета одвијаће се и у оквиру мастер програма „Master in Computational Finance (MCF) програм“. Овај програм један је од пионира у интегративном образовању у области рачунарских финансија. Он интегрише финансије, рачунарство, машинско учење и дигиталну трансформацију модерне економије.  

  • Компанија TX Services додељује стипендије студентима РАФ-а

    Рачунарски факултет са поносом преноси сјајну вест којој ће се посебно обрадовати студенти треће године Рачунарских наука. РАФ је оставарио сарадњу са компанијом TX Services која ће стипендирати два студента која су ове школске године уписана на трећу годину студијског програма Рачунарске науке. Студенти, које након конкурса буде одабарала компанија TX Services, добиће стипендију која износи половину школарине за трећу годину и половину школарине за четврту годину студија. Стипендисте након завршетка четврте године студија очекује прилика за запослење од две године у TX Services где ће имати сјајну прилику да примене знања стечена на факултету и упознају се са реалним пословним окружењем.

  • Компанија mBrainTrain донацијом опреме подржала нови предмет Интерфејс мозак-рачунар на РАФ-у

    Домаћа компанија mBrainTrain дала је подршку извођењу новог предмета на РАФ-у донирањем опреме за мерење мождане активности која је неопходна за рад студената. Студенти Рачунарских наукаРачунарског инжењерства и Мултимедијалног дизајна у наредном семестру имају прилику да одаберу нови изборни предмет Интерфејс мозак-рачунар. Овим предметом др Јелена Младеновић, која ће држати наставу, уводи једну сасвим нову област чији је зачетак у нашој земљи управо на Рачунарском факултету. Интерфејс мозак-рачунар представља спој рачунарства и неуронауке који је у свету увелико актуелан у науци, док ће на овај начин почети академско бављење њиме у Србији. Ова област је веома привлачна и занимљива како студентима Рачунарских наука и Рачунарског инжењерства, тако и студентима Мултимедијалног дизајна. На овај начин се постиже интердисциплинарност која у студијским програмима неретко изостаје, а РАФ увидевши њену важност уводи је као пример који ће следити у будућности.

  • Нови акредитовани мастер програм на Рачунарском факултету - Master in Computational Finance (MCF)

    На мастер студијама Рачунарског факултета у понуди је нов студијски програм Master in Computational Finance (MCF). MCF је иновативан мастер програм који је јединствен у нашој земљи, док је у свету област којом се бави веома актуелна и примењива. Овај програм је акредитован од стране Комисије за акредитацију и проверу квалитета Националног савета за високо образовање. MCF представља програм који је спој рачунарства и финансија, а који прати најсавременије токове из ових области на глобалном нивоу. РАФ са поносом истиче да је баш он препознат као факултет који може да обједини област рачунарства са финансијама и усмери један овакав програм према најновијим трендовима како у академској сфери, тако и у пословној сфери која у свету увелико напредује и мења се. На MCF-у образују се студенти за различите врсте послова који садрже рад са структурираним и неструктурираним финансијским подацима. Студијски програм се бави рачунарским и алгоритамским аспектима проблема који се примењују на реална пословна окружења. Студенти се припремају за послове у Србији и на међународном тржишту рада, пре свега у области дигиталне економије и финансија, као и у фирмама које се баве финансијском технологијом.

  • Нови предмети на Рачунарском факултету – Интерфејс мозак-рачунар и Физиолошко рачунарство

    На Рачунарском факултету и онлајн путем Зума одржано је представљање предмета Интерфејс мозак-рачунар и Физиолошко рачунарство које ће студенти моћи да одаберу у наредном семестру. Наставу на овим изборним предметима ће држати др Јелена Младеновић. Предмети су намењени студентима треће године студијских програма Рачунарско инжењерство, Рачунарске науке и Мултимедијални дизајн.