ฟีเจอร์เชิงโต้ตอบ
ซูม เลื่อนเมาส์ และเลื่อนมุมมอง
ฟีเจอร์เชิงโต้ตอบ เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดการโต้ตอบจึงสำคัญ
ข้อได้เปรียบที่สำคัญที่สุดของพล็อตลีเมื่อเทียบกับไลบรารีที่สร้างแผนภาพแบบคงที่ คือแผนภาพจะตอบสนองต่อผู้ใช้ ผู้อ่านสามารถขยายดูบริเวณหนึ่ง เลื่อนดูข้อมูล และวางเมาส์เพื่ออ่านค่าที่แน่นอนได้ โดยไม่ต้องทำให้แผนภาพแน่นไปด้วยป้ายกำกับ
การโต้ตอบทำให้แผนภาพเดียวรองรับได้ทั้งภาพรวมและรายละเอียด
กล่องข้อมูลเมื่อวางเมาส์
ตามค่าเริ่มต้น การวางเมาส์เหนือจุดจะแสดงค่า x และ y ของจุดนั้น คุณสามารถเพิ่มข้อมูลได้ด้วย hover_data=['col1', 'col2'] เพื่อเพิ่มคอลัมน์อื่น หรือใช้ hover_name='name' เพื่อกำหนดชื่อเรื่องตัวหนาของกล่องข้อมูล
กล่องข้อมูลที่ดีช่วยลดความจำเป็นในการใส่รายละเอียดจนรกบนแผนภาพ
การสร้างข้อความกล่องข้อมูล
ในเชิงแนวคิด กล่องข้อมูลก็เป็นเพียงข้อความที่จัดรูปแบบจากข้อมูลหนึ่งแถว นี่คือตัวอย่างแนวคิดเดียวกันในไพธอนแบบพื้นฐาน
point = {'name': 'Berlin', 'pop': 3700000, 'gdp': 154}
tooltip = point['name'] + '\nPop: ' + format(point['pop'], ',') + '\nGDP: ' + str(point['gdp'])
print(tooltip)การขยายและการเลื่อนดู
แผนภาพพล็อตลีมีแถบโหมดพร้อมเครื่องมือขยาย เลื่อนดู และเลือกเป็นกรอบ ผู้ใช้ยังสามารถลากเพื่อขยายดูสี่เหลี่ยมบริเวณหนึ่ง และดับเบิลคลิกเพื่อคืนค่าได้
พฤติกรรมเหล่านี้เปิดใช้งานไว้ตามค่าเริ่มต้น โดยทั่วไปคุณไม่ต้องเขียนโค้ดใด ๆ สำหรับสิ่งเหล่านี้
ช่วงและการคืนค่า
การขยายจะเปลี่ยนช่วงของแกนไว้ชั่วคราว คุณสามารถกำหนดช่วงเริ่มต้นด้วย fig.update_xaxes(range=[0, 100]) และผู้ใช้สามารถคืนค่าเป็นช่วงนี้ได้เสมอ
ให้คิดว่าการขยายคือการเลือกหน้าต่างย่อยจากช่วงข้อมูลทั้งหมด
full_min, full_max = 0, 1000
zoom_min, zoom_max = 200, 400
visible = zoom_max - zoom_min
total = full_max - full_min
print('Zoom shows', round(visible / total * 100), '% of the range')โหมดการวางเมาส์
fig.update_layout(hovermode='x unified') จะแสดงกล่องข้อมูลเดียวที่แสดงรายการของชุดข้อมูลทุกชุด ณ ตำแหน่ง x ที่วางเมาส์ วิธีนี้เหมาะอย่างยิ่งสำหรับเปรียบเทียบเส้นกราฟหลายเส้น ณ จุดเวลาเดียวกัน
โหมดอื่น ๆ ได้แก่ 'closest' และ 'x'
การโต้ตอบกับคำอธิบายสัญลักษณ์
คำอธิบายสัญลักษณ์ของพล็อตลีสามารถคลิกได้ การคลิกหนึ่งครั้งจะซ่อนชุดข้อมูลหนึ่งชุด ส่วนการดับเบิลคลิกจะแสดงเฉพาะชุดข้อมูลนั้น วิธีนี้ช่วยให้ผู้ใช้มุ่งความสนใจไปที่ข้อมูลที่ต้องการ โดยไม่ต้องสร้างแผนภาพแยกกัน
ฟังก์ชันนี้ทำงานโดยอัตโนมัติเมื่อแผนภาพมีชุดข้อมูลหลายชุด
แถบเลื่อนช่วง
สำหรับอนุกรมเวลา ให้เพิ่มแถบเลื่อนช่วงด้วย fig.update_xaxes(rangeslider_visible=True) แผนภาพภาพรวมขนาดเล็กจะแสดงด้านล่าง ทำให้ผู้ใช้ลากเพื่อเลือกช่วงวันที่ได้
แถบนี้ใช้ร่วมกับปุ่มเลือกช่วง เช่น 1m, 6m และ YTD ได้เป็นอย่างดี
แม่แบบการวางเมาส์แบบกำหนดเอง
หากต้องการควบคุมอย่างเต็มที่ ให้ใช้ hovertemplate ซึ่งเป็นข้อความที่มีตัวแทน เช่น %{x} และ %{y} คุณเป็นผู้กำหนดข้อความและรูปแบบตัวเลขที่แสดงเมื่อวางเมาส์ได้อย่างละเอียด
การออกแบบแม่แบบก็เหมือนกับการออกแบบข้อความที่จัดรูปแบบประเภทอื่น
x, y = 2021, 42.567
template = 'Year %{x}: $%{y:.1f}M'
rendered = template.replace('%{x}', str(x)).replace('%{y:.1f}', format(y, '.1f'))
print(rendered)รู้ว่าเมื่อใดควรหยุด
การโต้ตอบมีพลัง แต่ไม่ได้ไร้ต้นทุน ตัวควบคุมที่มากเกินไปอาจทำให้ผู้อ่านทั่วไปสับสน เปิดใช้เฉพาะคุณลักษณะที่ตอบคำถามจริง และใช้ค่าเริ่มต้นที่เหมาะสมสำหรับส่วนที่เหลือ
แถบโหมด
แถบเครื่องมือที่มุมขวาบนของแผนภาพทุกแผนภาพเรียกว่า แถบโหมด ภายในมีเครื่องมือขยาย เลื่อนดู ปรับมาตราส่วนอัตโนมัติ และปุ่มกล้องสำหรับดาวน์โหลด PNG คุณสามารถกำหนดค่าหรือซ่อนแถบนี้ได้ด้วยอาร์กิวเมนต์ config ขณะแสดงแผนภาพ
การซ่อนปุ่มที่ไม่ได้ใช้ช่วยลดความรกของแผนภาพสำหรับผู้ชมที่ไม่ใช่ผู้เชี่ยวชาญด้านเทคนิค
ตรวจสอบความเข้าใจ
ทดสอบความรู้เกี่ยวกับคุณลักษณะแบบโต้ตอบ
สรุปทบทวน
คุณได้สำรวจการโต้ตอบของพล็อตลี:
- กล่องข้อมูลเมื่อวางเมาส์ ซึ่งเพิ่มรายละเอียดได้ด้วย
hover_dataและhovertemplate - การขยายและการเลื่อนดูผ่านแถบโหมดในตัว
hovermode='x unified'สำหรับกล่องข้อมูลแบบรวม- คำอธิบายสัญลักษณ์ที่คลิกได้และแถบเลื่อนช่วงสำหรับอนุกรมเวลา
ใช้คุณลักษณะเหล่านี้อย่างมีจุดประสงค์เพื่อช่วยตอบคำถามจริง
คำถามที่พบบ่อย
บทเรียน “ฟีเจอร์เชิงโต้ตอบ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ฟีเจอร์เชิงโต้ตอบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน Plotly Express
- ฟีเจอร์เชิงโต้ตอบ
- แนวคิดแดชบอร์ด
- การส่งออกและการฝัง