การปรับแต่งสี

การแสดงผลข้อมูลด้วย Plotly ใน Python

Alex Scriven

Data Scientist

การปรับแต่งโดยทั่วไป

 

วิธีปรับแต่งกราฟ:

  1. ตอนสร้างกราฟ หากมี argument รองรับ (เช่น color)
  2. หลังสร้างกราฟแล้ว ใช้ update_layout()
    • รับค่าเป็น dictionary
    • fig.update_layout({"title":{"text":"A New Title"}})
การแสดงผลข้อมูลด้วย Plotly ใน Python

ทำไมต้องปรับแต่งสี?

 

การปรับแต่งสีช่วยให้:

  1. กราฟดูน่าสนใจยิ่งขึ้น!
  2. สื่อสารข้อมูลเชิงวิเคราะห์ได้ดีขึ้น
    • สีในกราฟกระจายนี้เพิ่มมิติที่ 3 ให้กับข้อมูล

   

สีแทนสายพันธุ์

การแสดงผลข้อมูลด้วย Plotly ใน Python

ทฤษฎีสีเบื้องต้น

 

คอมพิวเตอร์ใช้การเข้ารหัส RGB เพื่อระบุสี:

  • RGB = รหัส 3 ตัวเลข (แต่ละตัว 0-255) ผสมระหว่าง Red, Green, Blue
    • (0,0,255) คือสีน้ำเงิน และ (255,255,0) คือสีเหลือง

$$

$$

ดูเพิ่มเติมในบทความนี้

ตารางตัวอย่างสี RGB

การแสดงผลข้อมูลด้วย Plotly ใน Python

การระบุสีใน plotly.express

 

  • argument color (คอลัมน์ใน DataFrame)
    • แต่ละหมวดหมู่จะได้รับสีโดยอัตโนมัติ
    • คอลัมน์ตัวเลขจะใช้สเกลสี

 

fig = px.bar(data_frame=student_scores, 
      x="student_name", 
      y="score", 
      title="Student Scores by Student"
      color="city")
fig.show()
การแสดงผลข้อมูลด้วย Plotly ใน Python

ผลลัพธ์ของการใส่สี

กราฟก่อนหน้า:

แผนภูมิแท่งที่ไม่มีสี

กราฟหลังจากปรับแต่ง:

แผนภูมิแท่งที่มีสี

การแสดงผลข้อมูลด้วย Plotly ใน Python

สีกับกราฟ univariate

 

การใช้ argument color ของ plotly.express กับกราฟ univariate (bar, histogram):

  • Histogram — แท่งซ้อนกัน
  • Box plot — แสดงหลายกราฟเคียงกัน

Histogram แบบซ้อนพร้อมสี

Box plot เคียงกันพร้อมสี

การแสดงผลข้อมูลด้วย Plotly ใน Python

การระบุสีเฉพาะใน plotly.express

 

  • color_discrete_map: dictionary ที่แมปค่าหมวดหมู่กับสีที่ต้องการ
  • ระบุสี (พื้นฐาน) เป็นสตริงได้ เช่น "red", "green" เป็นต้น
การแสดงผลข้อมูลด้วย Plotly ใน Python

ผลลัพธ์เมื่อกำหนดสีเอง

$$

fig = px.bar(
    data_frame=student_scores, 
    x="student_name", y="score", 
    title="Student Scores by Student",

color_discrete_map={ "Melbourne": "rgb(0,0,128)", "Sydney": "rgb(235, 207, 52)"},
color="city")

 

แผนภูมิแท่งพร้อมสีที่กำหนดเอง

การแสดงผลข้อมูลด้วย Plotly ใน Python

สเกลสีใน plotly.express

 

  • สเกลสีเดียว (เขียวอ่อนไปเขียวเข้ม)

สเกลสีเขียว

  • Gradient แบบผสม (เขียวไปน้ำเงิน)

$$

  • ใช้ argument color_continuous_scale สำหรับสเกลสี

สเกลสีเขียว-น้ำเงิน

การแสดงผลข้อมูลด้วย Plotly ใน Python

การใช้สเกลสีในตัว

 

fig = px.bar(data_frame=weekly_temps, 
    x="day", y="temp", 
    color="temp",
    color_continuous_scale="inferno")
fig.show()

 

$$

 

แผนภูมิแท่งพร้อมสเกลสี inferno

การแสดงผลข้อมูลด้วย Plotly ใน Python

การสร้างสเกลสีของตัวเอง

 

  • สเกลสีแบบกำหนดเอง (เหลือง - ส้ม - แดง)
my_scale=[("rgb(242, 238, 10)"),
          ("rgb(242, 95, 10)"), 
          ("rgb(255,0,0)")]

fig = px.bar(data_frame=weekly_temps, x="day", y="temp",
color_continuous_scale=my_scale, color="temp")

 

แผนภูมิแท่งพร้อมสเกลสีที่กำหนดเอง

การแสดงผลข้อมูลด้วย Plotly ใน Python

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

การแสดงผลข้อมูลด้วย Plotly ใน Python

Preparing Video For Download...