R Shiny və Javascript ilə möhtəşəm dashboardların yaradılması

Shiny ilə application yaratmaqla yanaşı, JS kitabxanlarının köməyiylə inanılmaz dashboardlar yarada bilərsiniz. Bu postda kitabxanaların siyahısı və real nümunələr göstəriləcəkdir.

Turqut Abdullayev (QSS)https://qss.az
02-09-2019

        Bildiyimiz kimi R-da vizuallaşdırma üçün ggplot-dan istifadə edir. Amma dashboard qurulan zamanı qrafiklər dinamik olmalıdıki vizuallaşdırma daha cəlbedici və aydın olsun.

        Bu məqsəd üçün R-da çox sayda zəngin JS kitabxanaları mövcuddur:

Highcharts

        Highcharts-da müxtəlif tipli plotlar yaratmaq olar. Sizlərnən ən orijinal plotları paylaşmaq istəyirəm.

Streamgraph

        Əsasən illər üzrə çox sayda məlumatları əks etdirmək üçün ideal chart növlərindən biridir.


dat <- read.csv(
  "http://asbcllc.com/blog/2015/february/cre_stream_graph_test/data/cre_transaction-data.csv")

hchart(dat, "streamgraph", hcaes(year, volume_billions, group = asset_class)) %>% 
  hc_yAxis(visible = FALSE)%>%
  hc_title(text = "Title")%>%
  hc_xAxis(title = list(text = "Year")) %>%
  hc_yAxis(title = list(text = "Quantity"))%>% 
  hc_credits(enabled=FALSE) %>% hc_size(height = 800) %>% 
  hc_add_theme(hc_theme_superheroes())

Boxplot

        Outlier-ləri vizual olaraq göstərmək üçün. Outlier-ləri ləğv etmək üçün outliers = F etməlisiniz.


hcboxplot(x = diamonds$x, var = diamonds$color, var2 = diamonds$cut,
          outliers = T) %>% 
  hc_chart(type = "column") %>% 
  hc_add_theme(hc_theme_google())

Correlation matrix

        Verilənlər arasında əlaqənin əks olunması. label=T etməklə göstəricilərin əks olunmasını bildirmək olar.

        Əgər siz digər datada bunu tədbiq etmək istəyirsinizsə, o zaman:


df = df %>% mutate_if(is.character,is.factor) %>% mutate_all(as.integer)
hchart(cor(df) %>% round(.,2),label = T)

        Nümunə:


hchart(cor(mtcars) %>% round(.,2),label = T)

Echarts

        Echarts, R istifadəçilərinə dahada advanced vizuallaşdırma qrafiklərini təqdim edir.

Radar


df <- data.frame(
  x = LETTERS[1:5],
  y = runif(5, 1, 5),
  z = runif(5, 3, 7)
)

df %>% 
  e_charts(x) %>% 
  e_radar(y, max = 7, name = "radar") %>%
  e_radar(z, max = 7, name = "chart") %>%
  e_tooltip(trigger = "item")

Liquifill


liquid <- data.frame(val = c(0.6, 0.5, 0.4))

liquid %>% 
  e_charts() %>% 
  e_liquid(val) 

Mark Points and Lines

        Bar plot və Area chartı-ın bir yerdə əks olunması. Bununla yanaşı qrafikdə minimum və ortalama göstəricilərinin əks etdirilməsi.


USArrests %>% 
  dplyr::mutate(
    State = row.names(.),
    Rape = -Rape
  ) %>% 
  e_charts(State) %>% 
  e_area(Murder) %>%
  e_bar(Rape, name = "Sick basterd", x_index = 1) %>% # second y axis 
  e_mark_line("Sick basterd", data = list(type = "average")) %>% 
  e_mark_point("Murder", data = list(type = "min")) %>% 
  e_tooltip(trigger = 'item')

Leaflet

        Bəzən xəritəni müəyyən məqsədlər üçün Markddown-da göstərmək vacib ola bilər. Bunun üçün leaflet kitabxanasından istifadə edə bilərsiniz. `Latitude, longitude dəyişməklə diapazonu rahatlıqda digər istiqamətə yönəldə bilərsiniz.

Baku


leaflet() %>% setView(lng = 49.8, lat = 40.4, zoom = 14)%>%
  addProviderTiles(providers$Esri.WorldImagery) %>%
  addMiniMap(
    tiles = providers$Esri.WorldStreetMap,
    toggleDisplay = TRUE)

Wordcloud (shapes)

        Wordcloud isə sözləri bar chartda primitiv olaraq əks etdirmək əvəzinə, tag cloud-da daha effektiv göstərmək üçün istifadə olunan qrafiki üsuldur. Sözlərin böyüklüyü tez-tez rast gəlinməsini bildirir. Aşağı hissədə plot-un formaları qeyd olunub.

‘circle’ , ‘cardioid’ , ‘diamond’ , ‘triangle-forward’ , ‘triangle’ , ‘pentagon’ , ‘star’


library(wordcloud2)

 #figPath = "/Users/turgutabdullayev/Downloads/dataexperts2/tank.png"

wordcloud2(demoFreq, 
           size = 1,
           #figPath = figPath
           shape = 'cardioid')

        Və nəhayət yuxarıda göstərilən plotlarla Shiny ilə dashboard qura bilərik.

        Shiny-dən istifadə edilməsi qaydalarıyla bu Tutorial vasitəsiylə tanış ola bilərsiniz.

        Yaradılan Dashboard-la tanış olmaq üçün aşağıdakı linkdən istifadə edə bilərsiniz.

https://dataexperts.shinyapps.io/azal_dashboard/

Application Demo məqsədiylə yaradılıb və AZAL uçuşlarını, təyyarə növlərini və digər məlumatları əks etdirir.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Abdullayev (2019, Feb. 9). Data Experts: R Shiny və Javascript ilə möhtəşəm dashboardların yaradılması. Retrieved from http://dataexperts.tech/posts/2020-01-21-dashboard/

BibTeX citation

@misc{abdullayev2019r,
  author = {Abdullayev, Turqut},
  title = {Data Experts: R Shiny və Javascript ilə möhtəşəm dashboardların yaradılması},
  url = {http://dataexperts.tech/posts/2020-01-21-dashboard/},
  year = {2019}
}