Skip to content
Tayakorn

ทำไมตาถึงอ่านกราฟนี้ได้เร็วกว่า

LEVEL 1 · พื้นฐานที่ใช้ทุกวัน

หมึกที่ไม่ได้บอกอะไร

บทนี้ไขปริศนาข้อที่สองที่ปลูกไว้ตั้งแต่บทที่ 1 — ทำไมสไลด์ที่สวยกว่า กลับสื่อสารได้แย่กว่า

คำตอบไม่ใช่ "เพราะความเรียบง่ายดูดีกว่า" ซึ่งเป็นเรื่องรสนิยม แต่เป็นเรื่องกลไกที่คุณได้มาแล้วตั้งแต่บทที่ 2

7.1 ของตกแต่งไม่ได้อยู่เฉย ๆ มันแย่งช่องทาง

บทที่ 2 บอกว่าสายตามีช่องทางแบบขนานอยู่ไม่กี่ช่อง — สี ขนาด ความเข้ม ทิศทาง และตำแหน่งที่หลุดจากแนว

เงาใต้แท่งใช้ ความเข้ม · เส้นตารางใช้ ตำแหน่ง · กรอบใช้ ทิศทาง · คำอธิบายสัญลักษณ์ใช้ สี

ทุกชิ้นที่คุณเติมเข้าไปเพื่อความสวย จึงไม่ได้แค่ "อยู่เฉย ๆ" มันเข้าไปยืนในช่องทางเดียวกับที่ข้อมูลต้องใช้ และช่องทางพวกนั้นมีจำกัด

ของตกแต่งไม่ได้เป็นกลาง มันเป็นคู่แข่งของข้อมูล บนช่องทางเดียวกัน

7.2 นับหมึกกันตรง ๆ

ก่อนแก้ — หมึกที่เป็นข้อมูล 15.2%หน่วย หน่วย หน่วย หน่วย หน่วย 33 ชิ้นบนหน้า · 5 ชิ้นแบกข้อมูลอีก 28 ชิ้นแย่งช่องทางเดียวกับข้อมูลหลังแก้ — หมึกที่เป็นข้อมูล 93.8%252219181616 ชิ้นบนหน้า · 15 ชิ้นแบกข้อมูลตัวเลขกับชื่อหน่วยเป็นข้อมูล ไม่ใช่การตกแต่ง
FIG 7.1 นี่คือคำตอบของปริศนาข้อที่สองจากบทที่ 1 · แผงซ้ายมี 33 ชิ้น ให้ตาประมวลผล แต่มีแค่ 5 ชิ้นที่แบกข้อมูล — อีก 28 ชิ้นแย่งช่องทางเดียวกับข้อมูล · แผงขวาเหลือ 16 ชิ้น แต่ 15 ชิ้นแบกข้อมูล · ชิ้นน้อยลงครึ่งหนึ่ง ข้อมูลที่สื่อได้มากขึ้นสามเท่า

💡 data-ink ratio — สัดส่วนของหมึกบนหน้าที่แบกข้อมูลจริง เทียบกับหมึกทั้งหมด · แนวคิดนี้มาจาก Edward Tufte ซึ่งเสนอว่ากราฟที่ดีควรดันสัดส่วนนี้ให้สูงที่สุดเท่าที่ยังอ่านรู้เรื่อง · เล่มนี้นับเป็น จำนวนชิ้น แทนปริมาณหมึกจริง เพราะชิ้นคือหน่วยที่สายตาต้องประมวลผล และนับตรวจซ้ำได้

สคริปต์นี้ (dataink.py) นับชิ้นในภาพข้างบนทีละชิ้น ตามที่ตาเห็นจริง

"""นับหมึกในกราฟ — ชิ้นไหนแบกข้อมูล ชิ้นไหนแค่มาอยู่เฉย ๆ"""

# นับจากภาพ FIG 7.1 ในบทนี้ ทีละชิ้นตามที่ตาเห็น
BEFORE = [
    ("แท่ง 5 อัน", 5, True),
    ("เส้นตารางแนวนอน", 6, False),
    ("กรอบรอบกราฟ 4 ด้าน", 4, False),
    ("เงาใต้แท่ง 5 อัน", 5, False),
    ("คำอธิบายสัญลักษณ์", 5, False),
    ("แกนตั้งพร้อมขีด 6 ขีด", 7, False),
    ("แกนนอน", 1, False),
]
AFTER = [
    ("แท่ง 5 อัน", 5, True),
    ("ตัวเลขบนแท่ง", 5, True),
    ("ป้ายชื่อใต้แท่ง", 5, True),
    ("เส้นฐานเส้นเดียว", 1, False),
]

def report(name, items):
    data = sum(n for _, n, is_data in items if is_data)
    total = sum(n for _, n, _ in items)
    print(f"=== {name} ===")
    for label, n, is_data in items:
        tag = "แบกข้อมูล" if is_data else "ไม่แบกข้อมูล"
        print(f"  {tag:<13}{label:<26} {n:>3}")
    print(f"  รวม {total} ชิ้น · แบกข้อมูล {data} ชิ้น "
          f"· สัดส่วนหมึกที่เป็นข้อมูล {data / total * 100:.1f}%\n")
    return data, total

d1, t1 = report("ก่อนแก้", BEFORE)
d2, t2 = report("หลังแก้", AFTER)

print(f"ชิ้นที่ตาต้องประมวลผลลดจาก {t1} เหลือ {t2} ({(1 - t2 / t1) * 100:.0f}% หายไป)")
print(f"แต่ข้อมูลที่สื่อได้เพิ่มจาก {d1} เป็น {d2} ชิ้น")
print("นี่คือจุดที่คำว่า 'เรียบง่ายกว่า' ไม่ได้แปลว่า 'บอกน้อยกว่า'")

ผลรันจริง

=== ก่อนแก้ ===
  แบกข้อมูล    แท่ง 5 อัน                   5
  ไม่แบกข้อมูล เส้นตารางแนวนอน              6
  ไม่แบกข้อมูล กรอบรอบกราฟ 4 ด้าน           4
  ไม่แบกข้อมูล เงาใต้แท่ง 5 อัน             5
  ไม่แบกข้อมูล คำอธิบายสัญลักษณ์            5
  ไม่แบกข้อมูล แกนตั้งพร้อมขีด 6 ขีด        7
  ไม่แบกข้อมูล แกนนอน                       1
  รวม 33 ชิ้น · แบกข้อมูล 5 ชิ้น · สัดส่วนหมึกที่เป็นข้อมูล 15.2%

=== หลังแก้ ===
  แบกข้อมูล    แท่ง 5 อัน                   5
  แบกข้อมูล    ตัวเลขบนแท่ง                 5
  แบกข้อมูล    ป้ายชื่อใต้แท่ง              5
  ไม่แบกข้อมูล เส้นฐานเส้นเดียว             1
  รวม 16 ชิ้น · แบกข้อมูล 15 ชิ้น · สัดส่วนหมึกที่เป็นข้อมูล 93.8%

ชิ้นที่ตาต้องประมวลผลลดจาก 33 เหลือ 16 (52% หายไป)
แต่ข้อมูลที่สื่อได้เพิ่มจาก 5 เป็น 15 ชิ้น
นี่คือจุดที่คำว่า 'เรียบง่ายกว่า' ไม่ได้แปลว่า 'บอกน้อยกว่า'

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

⚠️ ป้ายในบัญชีคือ "ไม่แบกข้อมูล" ไม่ใช่ "ตกแต่ง" และสองคำนี้ไม่เหมือนกัน — แกนกับขีดบอกสเกลถูกนับเป็นไม่แบกข้อมูล แต่มันเป็นหมึกที่ชอบธรรม ไม่ใช่ขยะ มันหมดความจำเป็นเฉพาะในกรณีนี้ เพราะพอพิมพ์ค่าติดไว้บนแท่งทุกอันแล้ว แกนก็ไม่เหลืองานให้ทำ · ถ้าคุณไม่ได้พิมพ์ค่า แกนคือชิ้นแรกที่ห้ามลบ

7.3 เส้นแบ่งที่ Tufte ไม่ได้ขีดไว้

กฎ "ลบให้มากที่สุด" มีจุดที่มันพัง และเล่มนี้ต้องบอกให้ชัดเพราะกฎนี้ถูกอ้างแบบสุดโต่งบ่อยมาก

สิ่งที่ ลบได้เกือบเสมอ คือชิ้นที่ไม่ได้ตอบคำถามอะไรเลย — เงา ไล่สี กรอบ เส้นตารางที่ถี่เกินจำเป็น ลวดลายพื้นหลัง

สิ่งที่ ห้ามลบ แม้จะดูเหมือนของตกแต่ง คือชิ้นที่ทำหน้าที่บอกบริบท — หน่วยของตัวเลข ช่วงเวลา ที่มาของข้อมูล และเส้นอ้างอิงอย่างค่าเป้าหมายหรือค่าเฉลี่ย พวกนี้กินหมึก แต่มันแบกความหมาย

เส้นแบ่งจริงไม่ใช่ "สวยหรือไม่สวย" แต่คือคำถามเดียว — ถ้าลบชิ้นนี้ออก มีคำถามไหนที่คนอ่านตอบไม่ได้อีกต่อไปหรือเปล่า ถ้าไม่มี ลบได้

Read the full book