← ทำไมตาถึงอ่านกราฟนี้ได้เร็วกว่า
LEVEL 3 · ระดับสูง
หัวข้อเดียวที่พูดแทนทั้งกราฟ
บทที่แล้วจบด้วยคำสัญญาว่าจะบีบทุกอย่างลงเหลือประโยคเดียว บทนี้คือประโยคนั้น
และมันไม่ใช่เรื่องของการเขียนให้เก่ง — เพราะถึงคุณจะเลือกช่องทางถูกทุกข้อตามสิบสองบทที่ผ่านมา ก็ยังมีข้อเท็จจริงบางข้อที่ไม่มีช่องทางไหนแบกไหว ข้อพวกนั้นไม่ได้หายไปไหน มันรอคุณอยู่ที่บรรทัดบนสุดของสไลด์
13.1 ช่องทางที่ไม่เคยอยู่ในบันได
บทที่ 4 นับช่องทางเข้ารหัสได้เจ็ดอย่าง บทที่ 5 เอามาเรียงเป็นบันไดเจ็ดขั้นตามความแม่นที่วัดกับคนจริง แล้วทั้งเล่มก็ไต่บันไดนั้นมาตลอดสิบบท
แต่บนสไลด์จริงมีของอีกชิ้นที่แบกข้อมูลอยู่ทุกใบ และมันไม่เคยโผล่ในลิสต์ทั้งสองอันเลย — ตัวหนังสือ
เหตุผลที่มันไม่อยู่ในลิสต์นั้นตรงไปตรงมา ลิสต์ของบทที่ 4 นับเฉพาะคุณสมบัติที่ แปลงค่าเป็นรูปทรง ได้แก่ความยาว มุม พื้นที่ ความเข้ม ส่วนตัวหนังสือไม่ได้แปลงอะไรเลย มันเขียนเลข 25 ลงไปตรง ๆ แล้วคนอ่านก็ได้เลข 25 กลับไป
พูดด้วยภาษาของสายพานในบทที่ 3 คือ ตัวหนังสือข้ามขั้นถอดรหัสเชิงเรขาคณิตไปทั้งขั้น ไม่มีการบีบ ไม่มีการขยาย ไม่มีความคลาดเคลื่อนแบบที่เราวัดมาสิบบท
ตัวหนังสือไม่ได้อยู่บนบันได เพราะมันไม่ได้ปีนบันไดตั้งแต่แรก มันเดินอ้อมไป
ถ้าจบตรงนี้ คำตอบก็ควรจะเป็น "งั้นก็เขียนตัวเลขทั้งหมดลงไปสิ" ซึ่งผิด และเหตุผลที่ผิดอยู่ในบทที่ 2
การอ่านตัวหนังสือคืองานโหมดไล่ทีละชิ้นเต็มตัว คนอ่านต้องกวาดสายตาไปทีละคำ เวลาที่ใช้แปรตามจำนวนคำเกือบเป็นเส้นตรง ตรงข้ามกับกราฟที่ส่งรูปร่างทั้งหน้ามาถึงตาพร้อมกัน
นั่นคือค่าผ่านทางของทางอ้อม — ตัวหนังสือแม่นที่สุด แต่ขยายไม่ได้ ภาพหนึ่งภาพรับข้อมูลได้เป็นพัน ส่วนหัวสไลด์รับได้ประโยคเดียว
💡 ทำไมถึงเป็น "ประโยคเดียว" ไม่ใช่ "ย่อหน้าเดียว" — ไม่ใช่กฎการเขียน แต่มาจากบทที่ 12 · หลักพีระมิดบอกว่าข้อสรุปต้องมาก่อน และความสนใจของคนอ่านถูกใช้ไปเรื่อย ๆ · ทุกประโยคที่คุณเพิ่มในหัวสไลด์ คือการใช้ทรัพยากรก้อนเดียวกับที่กราฟข้างล่างต้องใช้
13.2 ข้อเท็จจริงไหนที่ภาพแบกไหว ข้อไหนที่ไม่ไหว
คำถามที่ใช้ได้จริงจึงไม่ใช่ "หัวข้อควรเขียนว่าอะไร" แต่เป็น "ภาพข้างล่างแบกอะไรไม่ไหวบ้าง" ซึ่งเป็นคำถามที่คำนวณได้ตรง ๆ ด้วยเครื่องมือที่มีอยู่แล้วตั้งแต่บทที่ 5
ชุดข้อมูลเดิมของเราให้ข้อเท็จจริงห้าข้อ คือช่องว่างระหว่างอันดับที่ติดกันสี่คู่ บวกช่วงจากหัวตารางถึงท้ายตารางอีกหนึ่ง สคริปต์ข้างล่าง (headline.py) เอาแต่ละข้อไปหารด้วยช่วงที่ช่องทางมีให้ แล้วตัดสินด้วยเกณฑ์ K ตัวเดียวกับ channels.py ในบทที่ 5
"""หัวข้อคือที่เก็บของข้อเท็จจริงที่ช่องทางภาพแบกไม่ไหว — และคำนวณได้ว่ามีข้อไหนบ้าง"""
DATA = [("ก", 22), ("ข", 18), ("ค", 25), ("ง", 16), ("จ", 19)]
K = 0.05 # เกณฑ์เดียวกับ channels.py ในบทที่ 5 — ช่องว่างต้องกินกี่ส่วนของช่วง ถึงจะหวังให้ตาแยกออก
vals = [v for _, v in DATA]
hi, total = max(vals), sum(vals)
rank = sorted(DATA, key=lambda kv: -kv[1])
def share_of_range(gap, channel):
"""ช่องว่าง gap หน่วย ได้ส่วนแบ่งเท่าไหร่ของช่วงที่ช่องทางนั้นมีให้ — สูตรเดียวกับบทที่ 5"""
return gap / hi if channel == "ความยาว" else gap / total
# --- 1. ข้อเท็จจริงของสไลด์ ทุกข้อคือช่องว่างระหว่างค่าสองค่า ---
# คู่ที่ติดกันในอันดับทุกคู่ บวกคู่หัว-ท้ายซึ่งเป็นช่วงกว้างสุดของชุด
steps = [(rank[i], rank[i + 1]) for i in range(len(rank) - 1)]
FACTS = [(f"อันดับ {i + 1} กับ {i + 2}", a, b) for i, (a, b) in enumerate(steps)]
FACTS.append(("หัวตารางกับท้ายตาราง", rank[0], rank[-1]))
# --- 2. ช่องทางไหนแสดงข้อไหนได้เอง ข้อที่เหลือคือภาระของหัวข้อ ---
CHANNELS = ["ความยาว", "มุม"]
homeless = {ch: [] for ch in CHANNELS}
print("=== ข้อเท็จจริงห้าข้อ ผ่านสองช่องทาง ===")
for label, a, b in FACTS:
gap = a[1] - b[1]
cells = []
for ch in CHANNELS:
share = share_of_range(gap, ch)
if share < K:
homeless[ch].append((a[0], b[0], gap))
cells.append(f"{ch} {share * 100:5.2f}% {'ภาพแสดงได้' if share >= K else 'ภาพแสดงไม่ได้'}")
print(f" {label} (หน่วย {a[0]} {a[1]} กับ หน่วย {b[0]} {b[1]} · ต่าง {gap} จุด)")
for cell in cells:
print(f" {cell}")
# --- 3. ประกอบประโยค: ข้อสรุปขึ้นก่อน แล้วต่อด้วยข้อที่ภาพแบกไม่ไหว ---
def compose(channel):
parts = [f"หน่วย {rank[0][0]} ใช้มากที่สุด {rank[0][1]} จาก {total}"]
parts += [f"{a} กับ {b} ต่างกัน {gap} จุด" for a, b, gap in homeless[channel]]
return " · ".join(parts)
print("\n=== หัวข้อที่ประกอบจากข้อที่เหลือ ===")
for ch in CHANNELS:
line = compose(ch)
print(f" ช่องทาง {ch}: ตกค้าง {len(homeless[ch])} จาก {len(FACTS)} ข้อ "
f"· หัวข้อยาว {len(line)} ตัวอักษร")
print(f" {line}")
extra = len(compose("มุม")) - len(compose("ความยาว"))
print(f"\nย้ายไปช่องทางที่แย่กว่า หัวข้อยาวขึ้น {extra} ตัวอักษร โดยข้อมูลไม่ขยับเลยสักตัว")
print("หัวข้อที่ยาวขึ้นเรื่อย ๆ จึงไม่ใช่ปัญหาการเขียน แต่เป็นใบเสร็จของช่องทางที่เลือก")
# --- 4. ตัวเลขทุกตัวที่ปรากฏใน FIG 13.1 ---
print("\n=== ตัวเลขทุกตัวใน FIG 13.1 ===")
for label, a, b in FACTS:
gap = a[1] - b[1]
cells = " | ".join(
f"{ch} {share_of_range(gap, ch) * 100:.2f}%"
f"{'' if share_of_range(gap, ch) >= K else ' (ตก)'}"
for ch in CHANNELS
)
print(f" แถว '{label}' {gap} จุด: {cells}")
for ch in CHANNELS:
print(f" หัวข้อของช่องทาง {ch}: ตกค้าง {len(homeless[ch])} ข้อ · {len(compose(ch))} ตัวอักษร")ผลรันจริง
=== ข้อเท็จจริงห้าข้อ ผ่านสองช่องทาง ===
อันดับ 1 กับ 2 (หน่วย ค 25 กับ หน่วย ก 22 · ต่าง 3 จุด)
ความยาว 12.00% ภาพแสดงได้
มุม 3.00% ภาพแสดงไม่ได้
อันดับ 2 กับ 3 (หน่วย ก 22 กับ หน่วย จ 19 · ต่าง 3 จุด)
ความยาว 12.00% ภาพแสดงได้
มุม 3.00% ภาพแสดงไม่ได้
อันดับ 3 กับ 4 (หน่วย จ 19 กับ หน่วย ข 18 · ต่าง 1 จุด)
ความยาว 4.00% ภาพแสดงไม่ได้
มุม 1.00% ภาพแสดงไม่ได้
อันดับ 4 กับ 5 (หน่วย ข 18 กับ หน่วย ง 16 · ต่าง 2 จุด)
ความยาว 8.00% ภาพแสดงได้
มุม 2.00% ภาพแสดงไม่ได้
หัวตารางกับท้ายตาราง (หน่วย ค 25 กับ หน่วย ง 16 · ต่าง 9 จุด)
ความยาว 36.00% ภาพแสดงได้
มุม 9.00% ภาพแสดงได้
=== หัวข้อที่ประกอบจากข้อที่เหลือ ===
ช่องทาง ความยาว: ตกค้าง 1 จาก 5 ข้อ · หัวข้อยาว 55 ตัวอักษร
หน่วย ค ใช้มากที่สุด 25 จาก 100 · จ กับ ข ต่างกัน 1 จุด
ช่องทาง มุม: ตกค้าง 4 จาก 5 ข้อ · หัวข้อยาว 127 ตัวอักษร
หน่วย ค ใช้มากที่สุด 25 จาก 100 · ค กับ ก ต่างกัน 3 จุด · ก กับ จ ต่างกัน 3 จุด · จ กับ ข ต่างกัน 1 จุด · ข กับ ง ต่างกัน 2 จุด
ย้ายไปช่องทางที่แย่กว่า หัวข้อยาวขึ้น 72 ตัวอักษร โดยข้อมูลไม่ขยับเลยสักตัว
หัวข้อที่ยาวขึ้นเรื่อย ๆ จึงไม่ใช่ปัญหาการเขียน แต่เป็นใบเสร็จของช่องทางที่เลือก
=== ตัวเลขทุกตัวใน FIG 13.1 ===
แถว 'อันดับ 1 กับ 2' 3 จุด: ความยาว 12.00% | มุม 3.00% (ตก)
แถว 'อันดับ 2 กับ 3' 3 จุด: ความยาว 12.00% | มุม 3.00% (ตก)
แถว 'อันดับ 3 กับ 4' 1 จุด: ความยาว 4.00% (ตก) | มุม 1.00% (ตก)
แถว 'อันดับ 4 กับ 5' 2 จุด: ความยาว 8.00% | มุม 2.00% (ตก)
แถว 'หัวตารางกับท้ายตาราง' 9 จุด: ความยาว 36.00% | มุม 9.00%
หัวข้อของช่องทาง ความยาว: ตกค้าง 1 ข้อ · 55 ตัวอักษร
หัวข้อของช่องทาง มุม: ตกค้าง 4 ข้อ · 127 ตัวอักษรบรรทัดที่ควรอ่านซ้ำคือสองบรรทัดสุดท้ายของหัวข้อ 55 ตัวอักษรกับ 127 ตัวอักษร ข้อมูลชุดเดียวกันเป๊ะ แต่พอเปลี่ยนช่องทางจากแท่งเป็นวงกลม หัวข้อต้องยาวขึ้นเกินสองเท่าเพื่อจะพูดเรื่องเดิมให้ครบ
เหตุผลไม่ได้อยู่ที่การเขียน มันอยู่ที่ว่าวงกลมส่งข้อเท็จจริงถึงคนอ่านได้แค่ข้อเดียวจากห้าข้อ ที่เหลืออีกสี่ข้อจึงตกมาให้ประโยคเดียวนั้นแบกทั้งหมด
ถ้าหัวข้อของคุณยาวขึ้นเรื่อย ๆ นั่นไม่ใช่ปัญหาการเขียน มันคือใบเสร็จว่าภาพข้างล่างแบกไม่ไหว
13.3 ประกอบเป็นประโยคเดียว
สคริปต์ข้างบนประกอบประโยคด้วยกฎสองข้อ และทั้งสองข้อมาจากบทก่อนหน้าทั้งคู่
ข้อแรก ขึ้นต้นด้วยข้อสรุป — มาจากหลักพีระมิดในบทที่ 12 คนอ่านที่ยังไม่รู้ว่ากำลังจะไปไหน ต้องแบกทุกอย่างไว้ในหัวเผื่อว่ามันจะสำคัญ
ข้อสอง ต่อด้วยข้อที่ภาพแสดงไม่ได้ — มาจากบทที่ 6 ช่องว่างที่เล็กกว่าเกณฑ์ไม่ได้แค่ "เห็นยาก" มันไม่ได้ถูกส่งไปถึงคนอ่านเลย ถ้าคุณไม่เขียน ก็ไม่มีใครรู้
ลองเทียบกับ FIG 1.1 ในบทแรกของเล่ม หัวข้อของแผงขวาคือ "หน่วย ค ใช้มากที่สุด แต่ห่างอันดับสองแค่ 3 จุด" ซึ่งตอนนั้นมันดูเหมือนการเขียนที่ดี ตอนนี้คุณเห็นแล้วว่ามันไม่ใช่รสนิยม — มันคือผลลัพธ์ที่คำนวณออกมาได้
⚠️ สิ่งที่สคริปต์ทำได้คือหาข้อเท็จจริง ไม่ใช่ถ้อยคำ ประโยคที่มันพิมพ์ออกมายังแข็งอยู่ และคุณควรเกลาให้อ่านลื่นขึ้น แต่กติกามีข้อเดียว — เกลาถ้อยคำได้ ห้ามเพิ่มข้อเท็จจริง เพราะทุกข้อในรายการมีที่มาจากตัวเลข ส่วนข้อที่คุณเติมเองไม่มี
เคล็ดลับ: ถ้าเขียนหัวข้อไม่ออก อย่าเพิ่งโทษตัวเอง ให้กลับไปดูก่อนว่าคุณตอบได้ไหมว่าช่องว่างที่แคบที่สุดในชุดคือเท่าไหร่ ถ้าตอบไม่ได้ แปลว่ายังไม่รู้ว่าข้อมูลกำลังบอกอะไร ไม่ใช่เขียนไม่เป็น
13.4 หัวข้อก็มีตัวคูณคำโกหกของมันเอง
มาถึงตรงนี้เล่มนี้เชียร์หัวข้อที่บอกข้อสรุปมาตลอด จึงต้องพูดอีกด้านให้ชัด
หัวข้อที่บอกข้อสรุปคือคำกล่าวอ้าง และคำกล่าวอ้างมีราคาที่บทที่ 9 สอนไว้แล้ว — ตัวคูณคำโกหกวัดว่า ภาพ แสดงผลใหญ่กว่าที่ ข้อมูล มีจริงกี่เท่า หัวข้อก็วัดแบบเดียวกันได้
ความต่างอยู่ตรงที่มันร้ายกว่า เพราะข้อเท็จจริงที่หัวข้อแบกอยู่ คือข้อที่ภาพแสดงไม่ได้ตั้งแต่แรก คนอ่านจึงไม่มีทางเอาภาพมาตรวจประโยคของคุณได้เลย
| หัวข้อ | ข้อมูลรองรับไหม | คนอ่านตรวจได้ไหม |
|---|---|---|
| หน่วย ค ใช้มากที่สุด 25 จาก 100 | รองรับ | ตรวจได้จากแท่ง |
| จ กับ ข ต่างกัน 1 จุด | รองรับ | ตรวจไม่ได้ ต้องเชื่อคุณ |
| หน่วย ค ทิ้งห่างหน่วยอื่นแบบขาดลอย | ไม่รองรับ ห่างอันดับสองแค่ 3 จุด | ตรวจไม่ได้ ต้องเชื่อคุณ |
แถวที่สองกับสามหน้าตาเหมือนกันในสายตาคนฟัง ทั้งคู่คือประโยคที่ต้องเชื่อ ต่างกันแค่ว่าแถวหนึ่งจริงและอีกแถวไม่จริง
หัวข้อคือที่ที่คุณใช้เครดิตของตัวเอง ไม่ใช่ที่ที่คุณใช้ข้อมูลของคนอื่น
และมีสถานการณ์ที่หัวข้อ ไม่ควร บอกข้อสรุปอยู่จริง สองแบบ
- หน้าที่เอาไว้เปิดหา เช่นตารางอ้างอิงหรือภาคผนวก ซึ่งงานของมันคือให้คนไปหยิบตัวเลขที่ต้องการ ไม่ใช่พาไปหาข้อสรุปเดียว
- ตอนที่คุณยังไม่มีข้อสรุป ซึ่งเกิดขึ้นจริงและไม่ใช่เรื่องน่าอาย · หัวข้อที่บอกชื่อเรื่องแล้วบอกตรง ๆ ว่ายังตอบไม่ได้ ดีกว่าหัวข้อที่แต่งข้อสรุปขึ้นมาให้ดูเป็นมืออาชีพ