กราฟเส้น แท่ง และกระจาย
สร้างกราฟประเภทที่ใช้บ่อย
กราฟเส้น แท่ง และกระจาย เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
แผนภูมิหลักสามประเภท
เรื่องราวของข้อมูลส่วนใหญ่ถ่ายทอดด้วยแผนภูมิสามประเภท:
- แผนภาพเส้น ใช้แสดงแนวโน้มตามแกนที่มีลำดับ เช่น เวลา
- แผนภูมิแท่ง ใช้เปรียบเทียบหมวดหมู่
- แผนภาพกระจาย ใช้แสดงความสัมพันธ์ระหว่างตัวแปรตัวเลขสองตัว
แต่ละประเภทสอดคล้องกับวิธีการของ Matplotlib หนึ่งวิธีบนพื้นที่พล็อต
แผนภาพเส้น
แผนภาพเส้นเชื่อมจุดตามลำดับ ใน Matplotlib ใช้ ax.plot(x, y) ใช้เมื่อแกน x มีลำดับที่มีความหมาย เช่น วันต่าง ๆ หรือค่าที่วัดตามเวลา
ข้อมูลเบื้องหลังแผนภาพเส้นเป็นเพียงลำดับข้อมูลสองชุดที่ขนานกัน
months = [1, 2, 3, 4, 5]
sales = [120, 150, 130, 170, 200]
for m, s in zip(months, sales):
print('Month', m, '->', s)
print('Trend:', 'up' if sales[-1] > sales[0] else 'down')แผนภูมิแท่ง
แผนภูมิแท่งใช้เปรียบเทียบหมวดหมู่ที่แยกจากกัน การเรียกใช้คือ ax.bar(categories, values) แท่งจะเริ่มจากศูนย์ จึงสามารถเปรียบเทียบความสูงกันได้โดยตรง
ใช้แท่งเมื่อ ตำแหน่งบนแกน x เป็นป้ายกำกับ ไม่ใช่มาตราส่วนต่อเนื่อง
fruits = ['apple', 'banana', 'cherry']
counts = [30, 45, 15]
for f, c in zip(fruits, counts):
bar = '#' * (c // 5)
print(f.ljust(8), bar, c)แท่งแนวนอน
เมื่อป้ายกำกับหมวดหมู่มีความยาวมาก แท่งแนวนอนจะอ่านได้ง่ายกว่า Matplotlib มี ax.barh(categories, values) ให้ใช้
ตรรกะเหมือนกันทุกประการ มีเพียงแนววางที่เปลี่ยนไป
แผนภาพกระจาย
แผนภาพกระจายจะวาดเครื่องหมายหนึ่งจุดต่อข้อมูลหนึ่งจุดด้วย ax.scatter(x, y) ช่วยให้เห็นความสัมพันธ์ กลุ่มข้อมูล และค่าผิดปกติระหว่างตัวแปรตัวเลขสองตัว
ต่างจากแผนภาพเส้นตรงที่จุดต่าง ๆ จะไม่ถูกเชื่อมเข้าด้วยกัน
heights = [150, 160, 170, 180, 190]
weights = [50, 60, 68, 78, 90]
pairs = list(zip(heights, weights))
print('Points:', pairs)
rising = all(weights[i] < weights[i+1] for i in range(len(weights)-1))
print('Positive trend:', rising)การเลือกแผนภูมิที่เหมาะสม
เลือกตามคำถามที่ต้องการตอบ:
- ค่าหนึ่งเปลี่ยนแปลงตามเวลาอย่างไร แผนภาพเส้น
- หมวดหมู่ใดมีค่ามากที่สุด แผนภูมิแท่ง
- ตัวแปรสองตัวมีความสัมพันธ์กันหรือไม่ แผนภาพกระจาย
การเลือกผิดอาจทำให้ผู้อ่านเข้าใจผิดได้ เช่น การใช้แผนภาพเส้นกับหมวดหมู่ที่ไม่มีลำดับ
ข้อมูลหลายชุด
คุณสามารถเรียกใช้ ax.plot() หลายครั้งบนพื้นที่พล็อตเดียวกันเพื่อซ้อนทับเส้นหลายเส้น การเรียกใช้แต่ละครั้งจะเพิ่มชุดข้อมูลอีกหนึ่งชุด จากนั้นใช้คำอธิบายแผนภูมิเพื่อแยกความแตกต่าง
แนวคิดการซ้อนทับแบบเดียวกันใช้ได้กับแผนภาพกระจายและแผนภูมิแบบผสม
series_a = [1, 2, 3, 4]
series_b = [4, 3, 2, 1]
for i in range(len(series_a)):
print('x', i, 'a', series_a[i], 'b', series_b[i])เครื่องหมายและรูปแบบเส้น
แผนภาพเส้นรองรับสตริงรูปแบบ เช่น ax.plot(x, y, 'o--') จะวาดเครื่องหมายวงกลมที่เชื่อมด้วยเส้นประ
oเครื่องหมายวงกลม--เส้นประrสีแดง
ทางลัดเหล่านี้ทำให้ปรับแผนภาพเพื่อสำรวจข้อมูลได้อย่างรวดเร็ว
แท่งแบบจัดกลุ่ม
หากต้องการเปรียบเทียบค่าสองค่าต่อหมวดหมู่ ให้เลื่อนตำแหน่งของแท่ง โดยเลื่อนกลุ่มหนึ่งไปเล็กน้อยเพื่อให้แท่งวางอยู่ข้างกัน
ตำแหน่งเหล่านี้คำนวณได้ด้วยการคำนวณเลขคณิตอย่างง่ายบนดัชนี
categories = ['Q1', 'Q2', 'Q3']
width = 0.4
for i, cat in enumerate(categories):
left_pos = i - width / 2
right_pos = i + width / 2
print(cat, 'group A at', left_pos, 'group B at', right_pos)แผนภูมิฟอง
แผนภาพกระจายสามารถแสดงตัวแปรที่สามด้วยขนาดของเครื่องหมาย: ax.scatter(x, y, s=sizes) ฟองที่ใหญ่กว่าหมายถึงค่าที่มากกว่า วิธีนี้บรรจุข้อมูลสามมิติไว้ในแผนภูมิเดียว
กำหนดขนาดให้เหมาะสม เพื่อไม่ให้ฟองซ้อนทับกันจนกลายเป็นก้อนเดียว
การหลีกเลี่ยงแผนภูมิที่ทำให้เข้าใจผิด
ประเภทของแผนภูมิมีความหมายในตัวเอง ดังนั้นการเลือกผิดอาจทำให้เข้าใจผิดได้ เส้นที่ลากผ่านหมวดหมู่ซึ่งไม่มีลำดับจะสื่อว่ามีแนวโน้มทั้งที่ไม่มีอยู่จริง แท่งที่ไม่ได้เริ่มจากศูนย์จะทำให้ความแตกต่างดูมากเกินจริง
ถามตัวเองเสมอว่าการแสดงข้อมูลด้วยภาพสอดคล้องกับโครงสร้างข้อมูลของคุณหรือไม่
ตรวจสอบความเข้าใจ
จับคู่คำถามกับแผนภูมิที่เหมาะสม
ทบทวน
ตอนนี้คุณรู้จักการเรียกใช้แผนภูมิหลักสามแบบแล้ว:
ax.plot(x, y)ใช้แสดงแนวโน้มบนแกนที่มีลำดับax.bar(cats, vals)ใช้เปรียบเทียบหมวดหมู่ax.scatter(x, y)ใช้แสดงความสัมพันธ์ โดยใช้s=สำหรับฟอง
ซ้อนทับชุดข้อมูลหลายชุดบนพื้นที่พล็อตเดียวกัน และเลือกประเภทให้ตรงกับคำถามของคุณ
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 76
- บทเรียน
- 320
คำถามที่พบบ่อย
บทเรียน “กราฟเส้น แท่ง และกระจาย” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “กราฟเส้น แท่ง และกระจาย” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “กราฟเส้น แท่ง และกระจาย”
สร้างกราฟประเภทที่ใช้บ่อย คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “กราฟเส้น แท่ง และกระจาย” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- รูปและแกน
- กราฟเส้น แท่ง และกระจาย
- การปรับแต่งกราฟ
- กราฟย่อยและการจัดวาง