我使用matplotlib的FuncAnimation
來運行動畫以顯示來自微處理器的數據(實時)。我正在使用按鈕向處理器發送命令,並希望按鈕的顏色在被點擊後發生變化,但是我找不到在matplotlib.widgets.button
文檔(尚未)中實現此目的的任何內容。更改matplotlib按下按鈕時的顏色
class Command:
def motor(self, event):
SERIAL['Serial'].write(' ')
plt.draw()
write = Command()
bmotor = Button(axmotor, 'Motor', color = '0.85', hovercolor = 'g')
bmotor.on_clicked(write.motor) #Change Button Color Here
感謝喬!我會試一試 – fergodsake
在這個例子中有一個按鈕。但是如果有幾個按鈕,並且您想要更改單擊的顏色? –
@KurtPeek - 首先,每個按鈕都連接到自己的回調函數,所以當你需要不同的行爲時,你通常會將不同的回調函數連接到不同的按鈕。 (例如,上面的例子使用閉包,所以可以使用更明確的'lambda'或'functools.partial'等等)。但是,如果需要,可以將'event.inaxes'與'button.ax'進行比較。每個'Button'實例佔據一個完整的'Axes',所以事件發生的軸將對應於該按鈕。但是,如果您有重疊的軸,則有一些注意事項(例如,在另一個軸內的按鈕)。 –