R ဖြင့် lollipop chart ဖန်တီးနည်း


ဘားဇယားနှင့်ဆင်တူသည်၊ အမျိုးအစားအလိုက် ကိန်းရှင်တစ်ခု၏ အရေအတွက်တန်ဖိုးများကို နှိုင်းယှဉ်ရန်အတွက် lollipop ဇယား သည် အသုံးဝင်သည်။ ဘားများကိုအသုံးပြုမည့်အစား၊ lollipop ဇယားသည် အရေအတွက်တန်ဖိုးများကိုကိုယ်စားပြုရန် အဆုံးတွင် စက်ဝိုင်းများပါသော လိုင်းများကိုအသုံးပြုသည်။

lollipop ဇယားသည် ဇယားပေါ်ရှိ အရောင်ပမာဏကို လျှော့ချပြီး ဇယားရှိ စာကြောင်းများ သို့မဟုတ် အခြားဂရပ်ဖစ်များနှင့် ဆန့်ကျင်သည့်အနေဖြင့် ဇယားပေါ်ရှိ အမှန်တကယ်တန်ဖိုးများကို စာဖတ်သူ၏အာရုံစူးစိုက်မှုကို အာရုံစိုက်နေချိန်တွင် အမျိုးအစားများစွာကို နှိုင်းယှဉ်ရန် အကောင်းဆုံးနည်းလမ်းဖြစ်သည်။ လူတော်တော်များများက lollipop board ကို အလှတရားလို့ ထင်မြင်ယူဆကြပါတယ်။

ဤသင်ခန်းစာတွင်၊ အောက်ပါ lollipop ဇယားကို ဖန်တီးရန် လိုအပ်သော အဆင့်များကို ဖြတ်သန်းပါမည်။

ဥပမာ- R တွင် Lollipop ဇယား

ဤဥပမာအတွက်၊ ကျွန်ုပ်တို့သည် mtcars built-in R dataset ကိုသုံးပါမည်-

 #view first six rows of mtcars
head(mtcars)

အခြေခံ lollipop ဇယား

အောက်ပါ ကုဒ်သည် မည်ကဲ့သို့ ဖြစ်သည်ကို ဖော်ပြသည်။   ဒေတာအတွဲရှိ ကား ၃၂ စီးစီ၏ mpg (တစ်ဂါလံလျှင် မိုင်) ကို နှိုင်းယှဉ်ရန် lollipop ဇယားကို ဖန်တီးရန်။

ကားအမည်များကို ဒေတာအတွဲ၏ အတန်းအမည်များတွင် သတ်မှတ်ထားသည်၊ ထို့ကြောင့် ဤအတန်းအမည်များပါရှိသော ဒေတာအတွဲတွင် ကော်လံအသစ်တစ်ခုကို ပထမဆုံး ဖန်တီးပါသည်။

ထို့နောက်၊ ကျွန်ုပ်တို့သည် lollipop ဇယားကိုဖန်တီးရန် ကျွန်ုပ်တို့အသုံးပြုမည့် ggplot2 စာကြည့်တိုက်ကို တင်ပါ။

ggplot2 ဖြင့်၊ ကျွန်ုပ်တို့သည် ကွက်ကွက်ပေါ်ရှိ စာကြောင်းများကို ဖန်တီးရန် geom_segment ကို အသုံးပြုပါသည်။ ကျွန်ုပ်တို့သည် အစနှင့်အဆုံး x တန်ဖိုးများကို 0 နှင့် mpg အဖြစ် အသီးသီးသတ်မှတ်ထားသည်။ ကျွန်ုပ်တို့သည် အစနှင့်အဆုံး y တန်ဖိုးများကို char အဖြစ်သတ်မှတ်သည်။

 #create new column for car names
mtcars$car <- row.names(mtcars)

#load ggplot2 library
library(ggplot2)

#create lollipop chart
ggplot(mtcars, aes(x = mpg, y = car)) +
        geom_segment(aes(x = 0, y = car, xend = mpg, yend = car)) +
        geom_point()

တံဆိပ်များထည့်ခြင်း။

အညွှန်း နှင့် geom_text အငြင်းအခုံများကို အသုံးပြု၍ ဇယားတွင် အညွှန်းများကိုလည်း ထည့်နိုင်သည်-

 ggplot(mtcars, aes(x = mpg, y = car, label = mpg )) +
        geom_segment(aes(x = 0, y = car, xend = mpg, yend = car)) +
        geom_point() +
        geom_text(nudge_x = 1.5)

သို့မဟုတ် စာကြောင်းတစ်ခုစီ၏အဆုံးတွင် အညွှန်းများကို ထားမည့်အစား၊ ၎င်းတို့ကို စက်ဝိုင်းများကို ပိုကြီးစေပြီး အညွှန်း၏ဖောင့်အရောင်ကို အဖြူရောင်အဖြစ် ပြောင်းလဲခြင်းဖြင့် ၎င်းတို့ကို စက်ဝိုင်းအတွင်းတွင် ထားရှိနိုင်သည်-

 ggplot(mtcars, aes(x = mpg, y = car, label = mpg)) +
        geom_segment(aes(x = 0, y = car, xend = mpg, yend = car)) +
        geom_point( size = 7 ) +
        geom_text( color = 'white', size = 2 )

ပျမ်းမျှတန်ဖိုးများကို နှိုင်းယှဉ်ပါ။

တန်ဖိုးများကို သီးခြားနံပါတ်တစ်ခုနှင့် နှိုင်းယှဉ်ရန် lollipop ဇယားကိုလည်း အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်၊ ဒေတာအတွဲတွင် ပျမ်းမျှ mpg တန်ဖိုးကို ကျွန်ုပ်တို့ ရှာဖွေနိုင်ပြီး ကားတစ်စီးစီ၏ စိုင်းစိုင်းခမ်းလှိုင် ကို ပျမ်းမျှနှင့် နှိုင်းယှဉ်နိုင်သည်။

အောက်ဖော်ပြပါ ကုဒ်သည် ပျမ်းမျှ mpg တန်ဖိုးကို ရှာဖွေရန် dplyr စာကြည့်တိုက်ကို အသုံးပြုပြီး ကားများကို mpg ၏ ငယ်စဉ်ကြီးလိုက်ဖြင့် စီစဉ်ပေးသည် ။

 #load library dplyr
library(dplyr)

#find mean value of mpg and arrange cars in order by mpg descending
mtcars_new <- mtcars %>%
                arrange(mpg) %>%
                mutate(mean_mpg = mean(mpg),
                       flag = ifelse(mpg - mean_mpg > 0, TRUE, FALSE),
                       car = factor(car, levels = .$car))

#view first six rows of mtcars_new
head(mtcars_new)

ထို့နောက် အောက်ပါကုဒ်သည် စက်ဝိုင်း၏အရောင်ကို အလံ တန်ဖိုး (ဤကိစ္စတွင် TRUE သို့မဟုတ် FALSE) နှင့် ညီမျှစေရန် စက်ဝိုင်းအရောင်ကို သတ်မှတ်ကာ ကားတစ်စီးစီအတွက် စတင်သည့် x တန်ဖိုးသည် ပျမ်းမျှ mpg တန်ဖိုးနှင့် ညီမျှစေရန် ဖန်တီးပေးသည်။

 ggplot(mtcars_new, aes(x = mpg, y = car, color = flag )) +
        geom_segment(aes( x = mean_mpg , y = car, xend = mpg, yend = car)) +
        geom_point()

ဤအရောင် palette အမျိုးအစားကို အသုံးပြု၍ မည်သည့်ကားများသည် dataset ပျမ်းမျှထက် MPg နိမ့်ပြီး ပိုမြင့်သည်ကို အလွယ်တကူ ဆုံးဖြတ်နိုင်ပါသည်။

မူရင်းအားဖြင့် R သည် ၎င်း၏ကားချပ်အရောင်များအဖြစ် အပြာနှင့် အနီရောင်ကို အသုံးပြုသည်။ သို့သော်၊ scale_color_manual argument ကို အသုံးပြု၍ ကျွန်ုပ်တို့ လိုချင်သည့် မည်သည့်အရောင်မဆို အသုံးပြုနိုင်ပါသည်။

 ggplot(mtcars_new, aes(x = mpg, y = car, color = flag)) +
        geom_segment(aes(x = mean_mpg, y = car, xend = mpg, yend = car)) +
        geom_point() +
        scale_color_manual(values = c("purple", "blue"))

ကားချပ်ဗေဒကို ပြောင်းလဲပါ။

နောက်ဆုံးတွင်၊ ကျွန်ုပ်တို့သည် ggplot2 ၏ ကျယ်ပြန့်သောစွမ်းရည်များကို အသုံးပြုကာ ဇယား၏အလှတရားများကို ထပ်မံမွမ်းမံကာ ပရော်ဖက်ရှင်နယ်ပုံစံဖြင့် နောက်ဆုံးထုတ်ကုန်တစ်ခုကို ဖန်တီးနိုင်သည်-

 ggplot(mtcars_new, aes(x = mpg, y = car, color = flag)) +
        geom_segment(aes(x = mean_mpg, y = car, xend = mpg, yend = car), color = "grey") +
        geom_point() +
        annotate("text", x = 27, y = 20, label = "Above Average", color = "#00BFC4", size = 3, hjust = -0.1, vjust = .75) +
        annotate("text", x = 27, y = 17, label = "Below Average", color = "#F8766D", size = 3, hjust = -0.1, vjust = -.1) +
        geom_segment(aes(x = 26.5, xend = 26.5, y = 19, yend = 23),
                     arrow = arrow(length = unit(0.2,"cm")), color = "#00BFC4") +
        geom_segment(aes(x = 26.5, xend = 26.5, y = 18, yend = 14),
                     arrow = arrow(length = unit(0.2,"cm")), color = "#F8766D") +
        labs(title = "Miles per Gallon by Car") +
        theme_minimal() +
        theme(axis.title = element_blank(),
              panel.grid.minor = element_blank(),
              legend.position = "none",
              text = element_text(family = "Georgia"),
              axis.text.y = element_text(size = 8),
              plot.title = element_text(size = 20, margin = margin(b = 10), hjust = 0),
              plot.subtitle = element_text(size = 12, color = "darkslategrey", margin = margin(b = 25, l = -25)),
              plot.caption = element_text(size = 8, margin = margin(t = 10), color = "grey70", hjust = 0))

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်