การใช้สี สัญลักษณ์ และขนาด

การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

Adam Loy

Statistician, Carleton College

Scatterplot ของความสุขระดับชาติเทียบกับอายุขัย

การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

ข้อมูลความสุขโลก

dplyr::glimpse(happy)
Rows: 141
Columns: 11
$ country         <chr> "Afghanistan", "Albania", "Algeria", ...
$ happiness       <dbl> 2.661718, 4.639548, 5.248912, 6.039330, ...
$ region          <chr> "South Asia", "Central and Eastern Europe", ...
$ population      <dbl> 35530081, 2873457, 41318142, 44271041, ...
$ log.gdp         <dbl> 7.460144, 9.373718, 9.540244, 9.843519, ...
$ income          <fct> low, upper-middle, upper-middle, high, ...
$ life.expectancy <dbl> 52.33953, 69.05166, 65.69919, 67.53870, ...
$ social.support  <dbl> 0.4908801, 0.6376983, 0.8067539, 0.9066991, ...
$ freedom         <dbl> 0.4270109, 0.7496110, 0.4366705, 0.8319662, ...
$ generosity      <dbl> -0.106340349, -0.035140377, -0.194670126, -0.18629...
$ corruption      <dbl> 0.9543926, 0.8761346, 0.6997742, 0.8410525, ...
การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

สีของ Glyph

happy %>%
  plot_ly(x = ~life.expectancy, y = ~happiness) %>%
  add_markers(color = ~income)

Scatterplot ของความสุขระดับชาติเทียบกับอายุขัย แบ่งสีตามกลุ่มรายได้

การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

สัญลักษณ์ของ Glyph

happy %>%
  plot_ly(x = ~life.expectancy, y = ~happiness) %>%
  add_markers(symbol = ~income)

Scatterplot ของความสุขระดับชาติเทียบกับอายุขัย ใช้ทั้งสีและรูปร่างแทนกลุ่มรายได้ของประเทศ

การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

สีตามตัวแปรเชิงปริมาณ

happy %>%
  plot_ly(x = ~life.expectancy, y = ~happiness) %>%
  add_markers(color = ~population)

Scatterplot ของความสุขระดับชาติเทียบกับอายุขัย แบ่งสีตามจำนวนประชากร

การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

การแปลงข้อมูล

happy %>%
  plot_ly(x = ~life.expectancy, y = ~happiness) %>%
  add_markers(color = ~log10(population))

Scatterplot ของความสุขระดับชาติเทียบกับอายุขัย แบ่งสีตาม log ของจำนวนประชากร

การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

ขนาดของ Glyph

happy %>%
  plot_ly(x = ~life.expectancy, y = ~happiness) %>%
  add_markers(size = ~population)

Scatterplot ของความสุขระดับชาติเทียบกับอายุขัย ขนาดของ Glyph แสดงจำนวนประชากร

การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

การปรับป้ายกำกับ

happy %>%
  plot_ly(
    x = ~life.expectancy, y = ~happiness,
    hoverinfo = "text",
    text = ~paste("Country: ", country,
                  "</br> Population: ", population)
  ) %>%
  add_markers(size = ~population) %>%
  layout(
    xaxis = list(title = "Healthy life expectancy"),
    yaxis = list(title = "National happiness score")
  )
การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

GIF แสดงการโต้ตอบเมื่อ hover เมาส์

การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

มาฝึกกันเถอะ!

การสร้างภาพข้อมูลเชิงโต้ตอบด้วย plotly ใน R ระดับกลาง

Preparing Video For Download...