Skip to content
Tayakorn

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

LEVEL 2 · ระดับกลาง

แกนโกหกได้

บทที่ 6 ทิ้งอำนาจข้อหนึ่งไว้ให้คุณโดยยังไม่ตัดสิน — คนทำกราฟเป็นคนเลือกค่าฐานที่ตาจะเอาไปหาร บทนี้คือบทที่เราเอาอำนาจนั้นมาวัดเป็นตัวเลข แล้วขีดเส้นว่าตรงไหนคือการเน้น ตรงไหนคือการหลอก

9.1 วัดคำโกหกเป็นตัวเลข

💡 ตัวคูณคำโกหก (lie factor) — ขนาดของผลที่ ภาพ แสดง หารด้วยขนาดของผลที่ ข้อมูล มีจริง · แนวคิดของ Edward Tufte · ถ้าเท่ากับ 1 แปลว่าภาพซื่อสัตย์ตามสัดส่วน ยิ่งห่างจาก 1 ภาพยิ่งบิดเบี้ยว

ฐานแกน 0100102ตัวคูณคำโกหก 1.00สัดส่วนตรงกับข้อมูลฐานแกน 95100102ตัวคูณคำโกหก 20.00ภาพบอกว่าต่างกัน 40%ฐานแกน 99100102ตัวคูณคำโกหก 100.00ภาพบอกว่าต่างกัน 200%
FIG 9.1 ข้อมูลเดิมทั้งสามแผง 102 กับ 100 ต่างกัน 2% · ตัวคูณคำโกหกคือ "ผลที่ภาพแสดง หารด้วยผลที่มีจริง" · ยิ่งฐานแกนขยับสูง ตัวคูณยิ่งพุ่ง — ที่ฐาน 99 ภาพกำลังบอกว่าต่างกัน 200% ทั้งที่ของจริงคือ 2%

ข้อมูลชุดเดียวกันทั้งสามแผง 102 กับ 100 ต่างกัน 2% เท่าเดิมตลอด แต่ตัวคูณวิ่งจาก 1.00 ไป 100.00

"""ตัวคูณคำโกหก — ขนาดของผลที่ภาพแสดง หารด้วยขนาดของผลที่มีจริงในข้อมูล"""

def lie_factor(a, b, floor):
    """a, b = ค่าจริงสองค่า · floor = จุดที่แกนเริ่มนับ"""
    real = abs(a - b) / min(a, b)                    # ผลจริง คิดเป็นสัดส่วน
    ha, hb = a - floor, b - floor
    shown = abs(ha - hb) / min(ha, hb)               # ผลที่ตาเห็นจากความยาวแท่ง
    return real, shown, shown / real

print(f"{'ฐานแกน':>8}{'ผลจริง':>12}{'ผลที่ภาพแสดง':>16}{'ตัวคูณคำโกหก':>16}   คำตัดสิน")
for floor in (0, 90, 95, 98, 99):
    real, shown, lf = lie_factor(102, 100, floor)
    verdict = "ซื่อสัตย์" if 0.95 <= lf <= 1.05 else f"เกินจริง {lf:.0f} เท่า"
    print(f"{floor:>8}{real * 100:>11.2f}%{shown * 100:>15.2f}%{lf:>16.2f}   {verdict}")

print("\nTufte เสนอว่าตัวคูณควรอยู่ราว 1 — ห่างจาก 1 มากเท่าไหร่ ภาพก็โกหกมากเท่านั้น")
print("แต่ 'โกหก' ที่นี่หมายถึงสัดส่วนบิดเบี้ยว ไม่ได้แปลว่าคนทำตั้งใจหลอก")

# --- ความสูงแท่งที่ใช้วาด FIG 9.1 ในบทนี้ ---
H = 110.0
print("\n=== ความสูงแท่งของ FIG 9.1 ===")
for floor in (0, 95, 99):
    ha, hb = 102 - floor, 100 - floor
    low = round(hb / ha * H, 2)
    _, _, lf = lie_factor(102, 100, floor)
    print(f"  ฐานแกน {floor:>3} -> สูง {low:>6} กับ {H} px -> ตัวคูณ {lf:.2f}")

ผลรันจริง

  ฐานแกน      ผลจริง    ผลที่ภาพแสดง    ตัวคูณคำโกหก   คำตัดสิน
       0       2.00%           2.00%            1.00   ซื่อสัตย์
      90       2.00%          20.00%           10.00   เกินจริง 10 เท่า
      95       2.00%          40.00%           20.00   เกินจริง 20 เท่า
      98       2.00%         100.00%           50.00   เกินจริง 50 เท่า
      99       2.00%         200.00%          100.00   เกินจริง 100 เท่า

Tufte เสนอว่าตัวคูณควรอยู่ราว 1 — ห่างจาก 1 มากเท่าไหร่ ภาพก็โกหกมากเท่านั้น
แต่ 'โกหก' ที่นี่หมายถึงสัดส่วนบิดเบี้ยว ไม่ได้แปลว่าคนทำตั้งใจหลอก

=== ความสูงแท่งของ FIG 9.1 ===
  ฐานแกน   0 -> สูง 107.84 กับ 110.0 px -> ตัวคูณ 1.00
  ฐานแกน  95 -> สูง  78.57 กับ 110.0 px -> ตัวคูณ 20.00
  ฐานแกน  99 -> สูง  36.67 กับ 110.0 px -> ตัวคูณ 100.00

9.2 แต่บางครั้งการเริ่มที่ศูนย์ต่างหากที่โกหก

ถ้าจบบทตรงนี้ คุณจะได้กฎ "แท่งต้องเริ่มจากศูนย์เสมอ" กลับไป ซึ่งผิดพอ ๆ กับที่มันถูก

ลองนึกถึงอุณหภูมิร่างกาย 36.5 กับ 38.5 องศา ถ้าบังคับให้แกนเริ่มที่ 0 แท่งสองอันจะสูงเกือบเท่ากันและภาพจะบอกว่า "ไม่มีอะไร" ทั้งที่คนหนึ่งไข้ขึ้น นั่นคือการซ่อนเรื่องสำคัญ ซึ่งก็เป็นการโกหกอีกแบบหนึ่ง

ความต่างอยู่ตรงนี้ — ศูนย์เป็นจุดอ้างอิงที่มีความหมายจริงหรือเปล่า

ศูนย์มีความหมายศูนย์ไม่มีความหมาย
ยอดขาย · จำนวนคน · งบที่ใช้ไปอุณหภูมิร่างกาย · ปีปฏิทิน · คะแนนสอบที่เริ่มนับจาก 200
"ศูนย์" แปลว่าไม่มีเลย"ศูนย์" ไม่เคยเกิดขึ้นในความเป็นจริง
แท่งต้องเริ่มที่ศูนย์เริ่มที่ศูนย์คือการเสียพื้นที่ไปกับช่วงที่ไม่มีข้อมูล

9.3 กฎที่ใช้ได้จริงมีสองข้อ ไม่ใช่ข้อเดียว

ข้อแรก ความยาวต้องเริ่มจากศูนย์ ตำแหน่งไม่ต้อง เพราะกราฟแท่งเข้ารหัสด้วย ความยาว ซึ่งอ่านค่าจากจุดเริ่มถึงจุดจบ ตัดฐานทิ้งเท่ากับโกหกเรื่องความยาว ส่วนกราฟเส้นหรือจุดเข้ารหัสด้วย ตำแหน่ง ซึ่งอ่านจากการเทียบกับแกน ไม่ได้อ่านจากความยาว การซูมแกนจึงไม่ผิดหลักการ

นี่คือเหตุผลที่กราฟเส้นซูมได้แต่กราฟแท่งซูมไม่ได้ และมันไม่ใช่ธรรมเนียม แต่มาจากบันไดในบทที่ 5 โดยตรง

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

⚠️ ข้อนี้สำคัญกว่าที่คิด เพราะงานส่วนใหญ่ที่ถูกกล่าวหาว่า "จงใจหลอก" จริง ๆ แล้วมาจากค่าเริ่มต้นของเครื่องมือที่ซูมแกนให้อัตโนมัติ โดยคนทำไม่ได้ตั้งใจและไม่รู้ตัวด้วยซ้ำ การรู้กลไกจึงป้องกันได้ทั้งการโดนหลอกและการเผลอหลอกคนอื่น

ถามว่าศูนย์มีความหมายไหม ก่อนถามว่าแกนควรเริ่มที่ไหน

Read the full book