ปุ่มแบบกำหนดเอง

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

Alex Scriven

Data Scientist

ปุ่มแบบกำหนดเองทำอะไรได้บ้าง?

 

ปุ่มแบบกำหนดเองทำได้:

  • อัปเดตข้อมูลหรือองค์ประกอบ layout ของกราฟ

    • การปรับแต่งทั้งหมดด้วย update_layout() สามารถใส่ไว้ในปุ่มได้!
  • ช่วยในการสร้างแอนิเมชัน (นอกเหนือขอบเขตของคอร์สนี้)

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

ปุ่มแบบกำหนดเองใน Plotly

เพิ่มผ่านอาร์กิวเมนต์ updatemenus พร้อมพารามิเตอร์:

  • type: buttons หรือ dropdown
    • จะกล่าวถึง dropdown ในภายหลัง!
  • direction: ทิศทางของปุ่ม
    • ปุ่มวางแนวเคียงกัน (left) หรือซ้อนกัน (down)
  • x/y: ค่าทศนิยมสำหรับกำหนดตำแหน่งปุ่ม
  • showactive: True/False เพื่อแสดงปุ่ม active (ดัชนีของปุ่ม) ว่าถูกกดหรือไม่
    • ปุ่ม active คือปุ่มที่เลือกอยู่ในขณะนั้น
  • buttons: รายการของออบเจกต์ button
การแสดงผลข้อมูลด้วย Plotly ใน Python

ประเภทกราฟด้วยปุ่ม

$$

fig = px.bar(
      data_frame=revenues, 
    x='Industry', y='Revenue',
    color='Industry')
fig.show()

แผนภูมิแท่งอย่างง่ายแยกตามอุตสาหกรรม

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

การตั้งค่าปุ่ม

 

my_buttons = [

{'label': "Bar plot",
'method': "update",
'args': [{"type": "bar"}]},
{'label': "scatterplot",
'method': "update",
'args': [{"type": "scatter", 'mode': 'markers'}]}
]
การแสดงผลข้อมูลด้วย Plotly ใน Python

อาร์กิวเมนต์ args

หนึ่งในส่วนที่สับสนที่สุดของ Plotly!

  • โครงสร้างของมันคือ:

[{dictionary to send to data}, {dictionary to send to layout}]

โครงสร้างภายในของ Figure

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

การใช้ args สำหรับการอัปเดต layout

dir(fig.layout)

องค์ประกอบ layout ของ Figure

  • อัปเดตอาร์กิวเมนต์ใด ๆ ด้วย 'args'
การแสดงผลข้อมูลด้วย Plotly ใน Python

การใช้ args สำหรับการอัปเดตข้อมูล

dir(fig.data[0])

โครงสร้างภายใน data

  • บางส่วนคุ้นเคย และบางส่วนจะเป็นประโยชน์ในภายหลัง
การแสดงผลข้อมูลด้วย Plotly ใน Python

การโต้ตอบของปุ่ม

$$

fig.update_layout({
  'updatemenus': [{'type': "buttons",

'direction': 'down', 'x': 1.3, 'y': 0.5,
'showactive': True, 'active': 0,
'buttons': my_buttons}] }) fig.show()

$$

ปุ่ม

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

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

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

Preparing Video For Download...