Tag: data visualization

  • Seaborn 101: มาดูวิธีสร้างกราฟ 5 แบบ + 3 วิธีตกแต่งกราฟอย่างง่ายใน Seaborn กัน

    Seaborn 101: มาดูวิธีสร้างกราฟ 5 แบบ + 3 วิธีตกแต่งกราฟอย่างง่ายใน Seaborn กัน

    ในบทความนี้ เราจะมาทำความรู้จักกับ seaborn และวิธีการใช้ seaborn เพื่อสร้างและตกแต่งกราฟเบื้องต้นกัน

    ถ้าพร้อมแล้วมาเริ่มกันเลย


    1. ⚓ Intro to Seaborn
    2. 🍔 Dataset ตัวอย่าง
    3. 🤔 ก่อนเริ่มสร้างกราฟ
    4. 💻 Syntax ของ Seaborn
    5. 👉 การสร้างกราฟพื้นฐาน
      1. 📊 1. Histograms
      2. 📊 2. Box Plots
      3. 📊 3. Scatter Plots
      4. 📊 4. Line Plots
      5. 📊 5. Bar Plots
    6. 🔵 การใช้สีเพื่อเพิ่มตัวแปรในกราฟ
    7. 🖼️ การตกแต่งกราฟ
      1. 🎨 1. สี
      2. 🎨 2. Style
      3. 🎨 3. ข้อความ
    8. 💪 สรุป Seaborn 101
    9. ⏭️ Next
      1. 🧑‍💻 Example Code on GitHub
      2. 📚 Further Reading

    ⚓ Intro to Seaborn

    seaborn เป็น library สำหรับ visualise data ใน Python ซึ่งต่อยอดมาจาก:

    • pandas: library สำหรับ data transformation
    • matplotlib: library สำหรับสร้างกราฟ

    เพราะ seaborn ต่อยอดจาก pandas และ matplotlib จึงทำให้เราสามารถใช้ 3 libraries นี้ร่วมกันได้อย่างลงตัว

    จุดเด่นหลักของ seaborn คือ ความสามารถในการสร้างกราฟที่สวยงามได้อย่างง่าย

    มาดูกันว่า การสร้างกราฟด้วย seaborn ง่ายแค่ไหน


    🍔 Dataset ตัวอย่าง

    ในบทความนี้ เราจะใช้ tips ซึ่งเป็น built-in datasets ของ seaborn เพื่อดูวิธีใช้ seaborn กัน

    tips เป็น dataset เกี่ยวกับ tip ที่พนักงานในร้านอาหารได้รับ โดยมี columns ดังนี้:

    No.ColumnDescription
    1total_billจำนวนเงินค่าอาหาร
    2tipจำนวนเงินค่า tip
    3sexเพศของคนจ่ายบิล
    4smokerสถานะการสูบบุหรี่ของคนจ่ายบิล (สูบ vs ไม่สูบ)
    5dayวันของสัปดาห์
    6timeช่วงเวลาของวัน (lunch vs dinner)
    7sizeจำนวนแขกที่มาด้วยกัน

    🤔 ก่อนเริ่มสร้างกราฟ

    ก่อนเริ่มสร้างกราฟ ให้เราทำ 2 อย่างก่อน:

    .

    (1) import seaborn ก่อน พร้อมกับ libraries อื่น ๆ ที่มักใช้ร่วมกัน:

    # Import libraries
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    

    Note: seaborn ใช้ตัวย่อว่า sns ตามชื่อตัวละคร Samuel Norman Seaborn จากทีวีซีรี่ย์ The West Wing

    .

    (2) ต่อจากนั้นให้ load dataset tips ที่จะใช้งาน:

    # Load the dataset
    tips = sns.load_dataset("tips")
    

    Note: ถ้าเรา preview ด้วย .head() เราจะเห็นข้อมูลแบบนี้:

    Dataset: tips

    ในกรณีที่เราต้องการ import dataset จากข้างนอก เราสามารถใช้ pandas ช่วยได้ เช่น pd.read_csv() เพื่อโหลดไฟล์ CSV


    💻 Syntax ของ Seaborn

    Syntax ในการสร้างกราฟด้วย seaborn มีดังนี้:

    sns.plot(data, x, y, customisation)
    
    plt.show()
    • sns.plot = เรียกชื่อกราฟที่ต้องการสร้าง
    • data = ชุดข้อมูลที่ใช้สร้างกราฟ
    • x = ข้อมูลแกน x
    • y = ข้อมูลแกน y
    • customisation = การตั้งค่าเพื่อตกแต่งกราฟ
    • plt.show() = แสดงกราฟบนหน้าจอ

    👉 การสร้างกราฟพื้นฐาน

    มาดูวิธีการสร้าง 5 กราฟพื้นฐานกัน:

    1. Histogram
    2. Box plot
    3. Scatter plot
    4. Line plot
    5. Bar plot

    .

    📊 1. Histograms

    Histogram เป็นกราฟเพื่อสำรวจการกระจายตัว (distribution) ของข้อมูล

    ตัวอย่าง:

    ดูการกระจายตัวของ tip ที่พนักงานได้รับ:

    # Create a histogram of tips
    sns.histplot(data = tips,
                 x = "tip")
    
    # Show the plot
    plt.show()
    

    Note: สำหรับ histogram เราจะละแกน y ไว้ เพราะ y จะแสดงความถี่ของข้อมูลบนแกน x

    ผลลัพธ์:

    Histogram

    Note: จะเห็นว่า tip ที่พนักงานได้รับ อยู่ในช่วง 0.5 ถึง 10 ดอลล่าร์ โดยอยู่ในช่วง 2 ถึง 4 ดอลล่าร์มากที่สุด

    .

    📊 2. Box Plots

    Box plot ทำหน้าที่คล้ายกับ histogram คือ ช่วยในการสำรวจการกระจายตัวของข้อมูล

    ข้อแตกต่างของ box plot จาก histogram ก็คือ เราสามารถดู distribution หลาย ๆ อันได้บน box plot

    ตัวอย่าง:

    ดูการกระจายตัวของ tip ที่ได้ แบ่งตามมื้ออาหาร

    # Create a box plot of tips by time
    sns.boxplot(data = tips,
                x = "time",
                y = "tip")
    
    # Show the plot
    plt.show()
    

    ผลลัพธ์:

    Box plot

    Note: จะเห็นว่า การกระจายตัวของ tip ในแต่ละมื้อมีความใกล้เคียงกันมาก

    .

    📊 3. Scatter Plots

    Scatter plot ใช้สำรวจความสัมพันธ์ระหว่างตัวแปร 2 ตัว

    ตัวอย่าง:

    ความสัมพันธ์ระหว่างจำนวนเงินค่าอาหาร และ tip

    # Create a scatter plot of tips vs total bill
    sns.scatterplot(data = tips,
                    x = "total_bill",
                    y = "tip")
    
    # Show the plot
    plt.show()
    

    ผลลัพธ์:

    Scatter plot

    Note: จากกราฟ เราจะเห็นได้ว่า จำนวน tip ดูเหมือนจะเพิ่มขึ้นตามจำนวนเงินค่าอาหาร

    .

    📊 4. Line Plots

    Line plot ใช้สำรวจการเปลี่ยนแปลงของตัวแปรตามช่วงเวลา หรือตามตัวแปรอีกตัว

    ตัวอย่าง:

    ดูการเปลี่ยนแปลงของ tip ตามจำนวนแขก

    # Create a line plot of tips vs party size
    sns.lineplot(data = tips,
                 x = "size",
                 y = "tip")
    
    # Show the plot
    plt.show()
    

    ผลลัพธ์:

    Line plot

    Note: กราฟแสดงให้เห็นว่า tip เพิ่มขึ้นตามจำนวนแขก

    .

    📊 5. Bar Plots

    Bar plot ใช้สำรวจตัวแปรตามการจัดกลุ่มของตัวแปรอีกตัว

    ตัวอย่าง:

    ดูจำนวน tip ในแต่ละวันของสัปดาห์

    # Create a bar plot of tips vs day of week
    sns.barplot(data = tips,
                x = "day",
                y = "tip")
    
    # Show the plot
    plt.show()
    

    ผลลัพธ์:

    Bar plot

    Note: เราจะเห็นว่า ในแต่ละวัน พนักงานได้ tip ใกล้เคียงกัน แต่ในวันเสาร์และอาทิตย์จะได้เยอะกว่าวันพฤหัสฯ และวันศุกร์


    🔵 การใช้สีเพื่อเพิ่มตัวแปรในกราฟ

    จนถึงตอนนี้ เราจะเห็นว่า กราฟที่เราสร้างได้มีตัวแปร 1-2 ตัวเท่านั้น

    ถ้าเราต้องการเพิ่มตัวแปรที่สามเข้าไป (โดยไม่เปลี่ยนประเภทกราฟ) เราสามารถทำได้ง่าย ๆ ด้วยการใช้สี ผ่านการเพิ่ม parametre ชื่อ hue

    ยกตัวอย่างเช่น:

    ใน scatter plot ที่แสดงความสัมพันธ์ระหว่าง tip และจำนวนเงินค่าอาหาร เราต้องการเพิ่มตัวแปรการสูบบุหรี่เข้าไปด้วย

    • ตัวแปร 1: tip
    • ตัวแปร 2: ค่าอาหาร
    • ตัวแปร 3: การสูบบุหรี่ของลูกค้า

    เราสามารถทำได้ตามนี้:

    # Create a scatter plot: tips vs total bill vs smoker types
    sns.scatterplot(data = tips,
                    x = "total_bill",
                    y = "tip",
                    hue = "smoker")
    
    # Show the plot
    plt.show()
    

    ผลลัพธ์:

    Third variable added as hue

    จากกราฟ เราจะเห็นได้ว่า seaborn จัดการเปลี่ยนสีข้อมูลให้เองโดยอัตโนมัติ

    ทั้งนี้ ถ้าเราต้องการเปลี่ยนกราฟเป็นสีอื่น เราต้องปรับ code ของเราเพิ่มเติม


    🖼️ การตกแต่งกราฟ

    มาดู 3 วิธีในการตกแต่งกราฟใน seaborn กัน:

    1. สี
    2. Style
    3. ข้อความ

    .

    🎨 1. สี

    ใน seaborn เราสามารถปรับสีของกราฟได้ด้วย 2 วิธี:

    1. ใช้ palette
    2. ใช้ sns.set_palette()

    .

    วิธีที่ 1: กำหนด parametre ที่เรียกว่า palette

    เช่น สำหรับ scatter plot ก่อนหน้านี้ ถ้าเราอยากเปลี่ยนข้อมูลเป็นสีดำและแดง เราสามารถเขียน code ได้ดังนี้:

    • เราสร้าง dictionary ชื่อ colours เพื่อระบุว่า สีไหนจะใช้กับการสูบบุหรี่ประเภทไหน:
    # Specify colours
    colours = {"Yes": "red",
               "No": "black"}
    
    • จากนั้น เราก็ใช้ colours เป็น argument ของ palette:
    # Create a scatter plot
    sns.scatterplot(data = tips,
                    x = "total_bill",
                    y = "tip",
                    hue = "smoker",
                    palette = colours)
    
    # Show the plot
    plt.show()
    

    ผลลัพธ์:

    Customise colour with palette

    .

    วิธีที่ 2: เรียกใช้ sns.set_palette()

    ในกรณีที่เราไม่อยากกำหนด palette เอง เราสามารถเรียก sns.set_palette() แทนได้

    sns.set_palette() จะเรียกใช้และ apply ชุดสีที่เราต้องการให้กับกราฟของเราโดยอัตโนมัติ

    สำหรับ sns.set_palette() เราสามารถใส่ argument ได้ดังนี้:

    No.Argumentค่าสี
    1"deep"ค่า default ที่ seaborn ใช้
    2"muted"เป็น "deep" เวอร์ชันสีอ่อนกว่า
    3"pastel"สีพาสเทล
    4"dark"สีเข้ม
    5"colorblind"สีสำหรับคนตาบอดสี

    เช่น:

    สร้าง scatter plot โดยใช้ "colorblind":

    • เราเรียกใช้ sns.set_palette() โดยใส่ argument เป็นชื่อ palette ที่ต้องการใช้ (ในกรณีนี้ คือ "colorblind" ซึ่งเหมาะกับคนตาบอดสี):
    # Set the palette
    sns.set_palette("colorblind")
    
    • จากนั้น สร้าง scatter plot เหมือนเดิม (3 ตัวแปร แต่ไม่มี palette):
    # Create a scatter plot
    sns.scatterplot(data = tips,
                    x = "total_bill",
                    y = "tip",
                    hue = "smoker")
    
    # Show the plot
    plt.show()
    

    ผลลัพธ์:

    Customise colour with sns.set_palette()

    .

    🎨 2. Style

    นอกจากการเปลี่ยนสีกราฟแล้ว เรายังสามารถปรับ style ของกราฟได้ ผ่าน sns.set_style()

    โดยสำหรับ sns.set_style() เราสามารถใส่ argument ได้ดังนี้:

    No.Argumentสีพื้นหลังสีเส้นกราฟ
    1"white"ขาว ⚪ขาว ⚪
    2"dark"ดำ ⚫ดำ ⚫
    3"whitegrid"ขาว ⚪ดำ ⚫
    4"darkgrid"ดำ ⚫ขาว ⚪
    5"ticks"ขาว ⚪ไม่มี ✖️

    Note:

    • "white" เป็นค่า default ของ seaborn
    • "tick" เหมาะสำหรับกราฟที่เราต้องการเน้นแกน x และ y

    ยกตัวอย่างเช่น:

    เราต้องการปรับกราฟของเราเป็น dark theme ที่มี grid:

    • กำหนด argument ของ sns.set_style() เป็น "darkgrid":
    # Set the style
    sns.set_style("darkgrid")
    
    • สร้างกราฟที่ต้องการ:
    # Create a scatter plot
    sns.scatterplot(data = tips,
                    x = "total_bill",
                    y = "tip",
                    hue = "smoker")
    
    # Show the plot
    plt.show()
    

    ผลลัพธ์:

    Customise style with sns.set_style()

    .

    🎨 3. ข้อความ

    นอกจากสีและ style แล้ว เรายังสามารถตกแต่งกราฟเพิ่มเติม ด้วยการเพิ่มข้อความกำกับกราฟ อย่าง title และ labels (ชื่อแกน x และ y) ได้ด้วย

    เราสามารถทำสิ่งนี้ได้โดยใช้ functions ของ matplotlib (plt) แบบนี้:

    • สร้างกราฟ:
    # Create a scatter plot
    sns.scatterplot(data = tips,
                    x = "total_bill",
                    y = "tip",
                    hue = "smoker")
    
    • เพิ่ม title:
    # Add a title
    plt.title("Total Bill vs Tip", fontsize = 16)
    
    • เพิ่ม labels:
    # Add labels
    plt.xlabel("Total Bill ($)", fontsize = 12)
    plt.ylabel("Tip ($)", fontsize = 12)
    
    • แสดงกราฟ
    # Show the plot
    plt.show()
    

    ผลลัพธ์:

    Adding title and labels with plt.title(), and plt.xlabel() and plt.label()

    Note: จะเห็นแล้วว่า ตอนนี้กราฟของเรามีข้อความกำกับหัวข้อกราฟ (title) รวมทั้งแกน x และ y (labels)


    💪 สรุป Seaborn 101

    ในบทความนี้ เราเรียนรู้วิธีการสร้างกราฟง่าย ๆ ใน seaborn กัน

    โดยเราเริ่มจากการสร้างกราฟพื้นฐาน 5 อย่าง:

    กราฟSeaborn
    Histogramsns.histplot()
    Box plotsns.boxplot()
    Scatter plotsns.scatterplot()
    Line plotsns.lineplot()
    Bar plotsns.barplot()

    พร้อมการเพิ่มตัวแปรที่สาม:

    เพิ่มตัวแปรที่สามSeaborn
    เพิ่มผ่านสีhue

    และจบด้วยการปรับแต่งกราฟ:

    ปรับแต่งSeaborn
    สีpalette
    sns.set_palette()
    Stylesns.set_style()
    ข้อความplt.title()
    plt.xlabel()
    plt.ylabel()

    ⏭️ Next

    หวังว่า บทความนี้จะเป็นประโยชน์สำหรับคนที่ต้องการเรียนรู้เบื้องต้นเกี่ยวกับ seaborn

    .

    🧑‍💻 Example Code on GitHub

    สำหรับใครที่ต้องการลงมือทำเอง สามารถดูตัวอย่าง code ของบทความนี้ได้ที่ GitHub

    .

    📚 Further Reading

    สำหรับคนที่ต้องการเรียนรู้เพิ่มเติม สามารถอ่านเกี่ยวกับ seaborn ได้ตาม link ด้านล่าง:

  • Data Visualisation Basics: วิธีการเลือกใช้กราฟอย่างง่าย พร้อมประเภทกราฟ กรณีการใช้งาน และตัวอย่าง

    Data Visualisation Basics: วิธีการเลือกใช้กราฟอย่างง่าย พร้อมประเภทกราฟ กรณีการใช้งาน และตัวอย่าง

    ในบทความนี้ เราจะมาทำความรู้จักกับการใช้ data visualisation หรือเรียกสั้น ๆ ว่า data viz เบื้องต้นกัน:

    • Data viz คืออะไร?
    • วิธีเลือกและประเภท data viz

    ถ้าพร้อมแล้วไปเริ่มกันเลย


    1. Data Viz & Its Values
      1. Anscombe’s Quartet
    2. วิธีเลือกใช้ Data Viz
    3. Data Viz สำหรับ 1 ตัวแปร
      1. (1) Histogram
      2. (2) Box Plot
    4. Data Viz สำหรับ 2 ตัวแปร
      1. (1) Scatter Plot
      2. (2) Line Plot
      3. (3) Bar Plot
      4. (4) Dot Plot
    5. Data Viz สำหรับมากกว่า 2 ตัวแปร
      1. (1) Pair Plot
      2. (2) Heatmap
      3. (3) Parallel Coordinates Plot
    6. Caution: Pie Chart
    7. สรุป
    8. Bonus: เพิ่มตัวแปรใน Data Viz อย่างง่าย ๆ

    Data Viz & Its Values

    Data viz เป็นการนำเสนอข้อมูล (data หรือ information) ในรูปแบบของ …

    • กราฟ/ชาร์ต (graph/chart)
    • แผนภาพ (diagram)
    • รูปภาพ (picture)

    การแปลข้อมูลมาอยู่ในรูปของ data viz มีประโยชน์หลัก ๆ คือ

    1. ช่วยให้เห็น pattern ที่อยู่ในข้อมูลได้ง่ายขึ้น
    2. (ในกรณีที่ใช้ในการนำเสนอข้อมูล) ช่วยให้คนอื่นเข้าใจและจดจำข้อมูลของเราได้ดีขึ้น

    Anscombe’s Quartet

    ประโยชน์ของ data viz เห็นได้ชัดที่สุด ในตัวอย่างของ Anscombe’s Quartet

    ชุดข้อมูล Anscombe’s Quartet

    Anscombe’s Quartet เป็นข้อมูล 4 ชุด (แต่ละชุดประกอบด้วยคะแนน x และ y) ที่แตกต่างกัน แต่มีค่าสถิติที่เกือบจะเหมือนกัน เช่น

    • ค่าเฉลี่ย (mean) ของ x และ y
    • ค่าความแปรปวน (variance) ของ x และ y
    • correlation ระหว่าง x และ y

    แต่ถ้าเรานำ Anscombe’s Quartet มาทำเป็น data viz ก็จะเห็นว่า ข้อมูลทั้งสี่ชุดแตกต่างกันอย่างชัดเจน

    Data viz ของ Anscombe’s Quartet

    Anscombe’s Quartet เป็นตัวอย่างที่แสดงให้เห็นว่า data viz สามารถช่วยให้เราทำความเข้าใจข้อมูลได้อย่างง่ายและรวดเร็ว

    (ใครที่สนใจข้อมูลชุดนี้ สามารถเข้าดูเพิ่มได้ที่ Google Sheets)


    วิธีเลือกใช้ Data Viz

    เพื่อใช้งาน data viz ให้เกิดประสิทธิภาพสูงสุด เราควรเลือกใช้งาน data viz ให้ถูกประเภท

    โดยปัจจัยที่เราใช้เพื่อเลือก data viz มีอยู่ 2 อย่าง คือ

    1. จำนวนตัวแปร (variable) ที่เราใช้สร้าง data viz
    2. ประเภทของตัวแปร ซึ่งแยกได้เป็น 2 ประเภท ได้แก่
      1. Categorical variable หรือตัวแปรเชิงคุณภาพ เช่น เพศ จังหวัด สกุลเงิน
      2. Continuous variable หรือตัวแปรเชิงปริมาณ เช่น ความสูง น้ำหนัก จำนวนเงิน

    เมื่อเราใช้ 2 ปัจจัยนี้ เราจะจัดกลุ่ม data viz ได้ต่อไปดังนี้


    Data Viz สำหรับ 1 ตัวแปร

    .

    (1) Histogram

    ประเภทตัวแปร:

    Categorical variable

    กรณีการใช้งาน:

    สำรวจการกระจายตัว (distribution) ของตัวแปร

    ตัวอย่าง:

    การกระจายตัวของอายุประชาชน

    .

    (2) Box Plot

    ประเภทตัวแปร:

    Categorical variable

    กรณีการใช้งาน:

    • สำรวจ distribution ของตัวแปร
    • เปรียบเทียบ distribution กับตัวแปรอื่น ๆ

    ตัวอย่าง:

    ค่าใช้จ่ายรายเดือนของ 5 เมืองใหญ่ในอเมริกา


    Data Viz สำหรับ 2 ตัวแปร

    .

    (1) Scatter Plot

    ประเภทตัวแปร:

    1 continuous x 1 continuous variable

    กรณีการใช้งาน:

    สำรวจความสัมพันธ์ระหว่าง 2 ตัวแปร

    ตัวอย่าง:

    ความสัมพันธ์ระหว่างชั่วโมงเรียนและคะแนนสอบ

    .

    (2) Line Plot

    ประเภทตัวแปร:

    1 continuous x 1 continuous variable

    กรณีการใช้งาน:

    • สำรวจความสัมพันธ์ระหว่าง 2 ตัวแปร
    • ดู trend การเปลี่ยนแปลงตามเวลา

    ตัวอย่าง:

    ระดับอุณหภูมิในช่วงเวลา 1 ปี

    .

    (3) Bar Plot

    ประเภทตัวแปร:

    1 categorical x 1 continuous variable

    กรณีการใช้งาน:

    • นับจำนวนครั้งของ categorical variable
    • ดู percent ของ continuous variable เมื่อแบ่งตาม categorical variable

    ตัวอย่าง:

    จำนวนกาแฟที่ขายได้ในแต่ละวันของสัปดาห์

    .

    (4) Dot Plot

    ประเภทตัวแปร:

    1 categorical x 1 continuous variable

    กรณีการใช้งาน:

    ดูจำนวน continuous variable เมื่อแบ่งตาม categorical variable

    ตัวอย่าง:

    จำนวนพนักงานในแต่ละแผนก


    Data Viz สำหรับมากกว่า 2 ตัวแปร

    .

    (1) Pair Plot

    จำนวนตัวแปร:

    สูงสุด 10 ตัวแปร

    ประเภทตัวแปร:

    Categorical, continuous variables, หรือผสมก็ได้

    กรณีการใช้งาน:

    • ดู distribution ของตัวแปร
    • หาความสัมพันธ์ระหว่างตัวแปร

    ตัวอย่าง:

    ดูความสัมพันธ์ระหว่างลักษณะต่าง ๆ ของรถยนต์ เช่น แรงม้า น้ำหนัก การกินน้ำมัน

    .

    (2) Heatmap

    ประเภทตัวแปร:

    Continuous variables

    กรณีการใช้งาน:

    หาความสัมพันธ์ระหว่างตัวแปร

    ตัวอย่าง:

    อุณหภูมิของแต่ละเมืองในแต่ละเดือน

    .

    (3) Parallel Coordinates Plot

    ประเภทตัวแปร:

    Continuous variables เท่านั้น

    กรณีการใช้งาน:

    • หา pattern ในข้อมูล
    • จับกลุ่ม pattern ในข้อมูล

    ตัวอย่าง:

    คะแนนสอบนักเรียนในแต่ละวิชา


    Caution: Pie Chart

    Pie chart เป็น data viz ที่ควรหลีกเลี่ยง เพราะเป็นกราฟที่ตีความได้ยาก

    ตัวอย่างเช่น pie chart ที่แสดงสัดส่วนเวลาที่ programmer ใช้ในแต่ละวัน เราจะรู้ได้ยังไงว่า programmer ใช้เวลาไปกับอะไรมากกว่ากัน ระหว่าง Research และ Documentation

    จากตัวอย่าง ถ้าเราใช้ bar plot แทน จะเห็นได้ว่า เราทำความเข้าใจข้อมูลได้เร็วกว่า และตอบได้ทันทีว่า programmer ใช้เวลาไปกับ Research และ Documentation เท่า ๆ กัน:

    กรณีหลัก ๆ ที่เราจะใช้ pie chart คือ สำรวจสัดส่วนของข้อมูล เช่น ตัวอย่างด้านบน หรือจากยอดขายทั้งหมด สินค้าแต่ละตัวขายได้เป็นกี่เปอร์เซ็นต์

    นอกจากนี้ เราไม่ควรใช้ pie chart กับข้อมูลที่มี category มากกว่า 7 เพราะจะทำให้ pie chart อ่านยาก


    สรุป

    Data viz เป็นเครื่องมือช่วยในการทำความเข้าใจและสื่อสารข้อมูล

    โดยการเลือกใช้ data viz ขึ้นอยู่กับ 2 ปัจจัย คือ

    1. จำนวนตัวแปร
    2. ประเภทตัวแปร

    เราสามารถใช้ 2 ปัจจัยนี้ สรุปการเลือกใช้ data viz 10 ประเภทได้ดังนี้:

    No.Data Vizจำนวนประเภท
    1Histogram1Categorical
    2Box plot1Categorical
    3Scatter plot2All continuous
    4Line plot2All continuous
    5Bar plot2Categorical x Continuous
    6Dot plot2Categorical x Continuous
    7Pair plot>2Any
    8Heatmap>2Continuous
    9Parallel coordinates>2Continuous
    10Pie chart1Categorical

    Bonus: เพิ่มตัวแปรใน Data Viz อย่างง่าย ๆ

    เราสามารถใช้ 4 สิ่งเหล่านี้ เพื่อเพิ่มตัวแปรที่ 3 เข้าไปใน data viz สำหรับ 2 ตัวแปรได้:

    1. สี (colour)
    2. ขนาด (size)
    3. ความโปร่งใส (transparency)
    4. รูปทรง (shape)

    มาดูตัวอย่างกัน:

    ความสัมพันธ์ระหว่างความพึงพอใจและประสิทธิภาพในการทำงาน โดยแบ่งตามแผนก

    1. แบ่งแผนกด้วยสี

    2. แบ่งแผนกด้วยขนาด

    3. แบ่งแผนกด้วยความโปร่งใส

    4. แบ่งแผนกด้วยรูปทรง

    Note: จากตัวอย่างเราจะเห็นว่า การใช้สีเป็นวิธีนำเสนอตัวแปรที่สามได้ดีที่สุด ในขณะที่ขนาด ความโปร่งใส และรูปทรง