การปรับแต่งข้อมูล hover และ legend

การแสดงผลข้อมูลด้วย Plotly ใน Python

Alex Scriven

Data Scientist

hover คืออะไร?

ข้อมูล hover: ข้อความและข้อมูลที่ปรากฏเมื่อเลื่อนเมาส์ไปเหนือจุดข้อมูล

$$

ตัวเลือก hover เริ่มต้น

การแสดงผลข้อมูลด้วย Plotly ใน Python

ข้อมูล hover เริ่มต้นแบบอื่น

   

ค่าเริ่มต้นคือ hovermode = "closest"

  • "x" หรือ "y": เพิ่ม highlight บนแกน x หรือ y

$$

  • "x unified" / "y unified": แสดงเส้นและกล่อง hover ที่รวมค่าทั้งหมดบนแกน x หรือ y

x hover

X unified hover

การแสดงผลข้อมูลด้วย Plotly ใน Python

ข้อมูล hover ด้วย plotly.express

 

  • hover_name = คอลัมน์ที่กำหนด ซึ่งจะแสดงเป็นตัวหนาที่ด้านบนของกล่อง hover

$$

  • hover_data = list ของคอลัมน์ที่ต้องการรวม หรือ dictionary สำหรับรวม/ยกเว้นคอลัมน์
    • {column_name: False} (ยกเว้น column_name)
การแสดงผลข้อมูลด้วย Plotly ใน Python

ตัวแปรในข้อมูล hover

💡 คอลัมน์ hover ไม่จำเป็นต้องอยู่ในพล็อต

$$

fig = px.scatter(revenues, 
        x="Revenue", 
        y="employees",
        hover_name="Company",
        hover_data=["age"])

fig.show()

 

Hover over scatterplot

การแสดงผลข้อมูลด้วย Plotly ใน Python

การจัดสไตล์ข้อมูล hover

 

  • hoverlabel
    • รับ dictionary ของคุณสมบัติสไตล์ เช่น ฟอนต์ สีพื้นหลัง และการจัดวาง

$$

  • hovertemplate
    • สตริงในรูปแบบ HTML สำหรับจัดรูปแบบข้อความ (เกินขอบเขตของคอร์สนี้)
การแสดงผลข้อมูลด้วย Plotly ใน Python

legend คืออะไร?

  • คำอธิบายภาพที่ช่วยอธิบายองค์ประกอบในพล็อต เช่น สีหรือสัญลักษณ์

$$

  • มักถูกเพิ่มโดยอัตโนมัติเมื่อจำเป็น
    • เช่น เมื่อเพิ่มสีลงในแผนภูมิแท่ง

แผนภูมิแท่งที่มีสี

การแสดงผลข้อมูลด้วย Plotly ใน Python

การสร้างและจัดสไตล์ legend

$$

  • ใช้ update_layout() เพื่อควบคุม legend

$$

  • showlegend = True แสดง legend เริ่มต้น
  • legend - รับ dictionary ของคุณสมบัติ
    • x, y ใช้กำหนดตำแหน่ง legend ภายในพื้นที่พล็อต (ช่วง 0 ถึง 1)
    • องค์ประกอบสไตล์อื่น ๆ เช่น bgcolor (สีพื้นหลัง), borderwidth และ font

$$

ดูเพิ่มเติมใน เอกสารอ้างอิง

การแสดงผลข้อมูลด้วย Plotly ใน Python

legend ที่จัดสไตล์แล้ว

$$

$$

fig.update_layout(
    "showlegend": True,

legend_title_text="All Companies"
legend=dict( x=0.7, y=0.8, bgcolor="rgb(246,228,129)")) })

 

legend ที่จัดสไตล์แล้ว

การแสดงผลข้อมูลด้วย Plotly ใน Python

มาฝึกกันเถอะ!

การแสดงผลข้อมูลด้วย Plotly ใน Python

Preparing Video For Download...