跳转到主要内容

适用于(Q)Thread和Qt工作的Matplotlib后端

项目描述

适用于(Q)Thread和Qt工作的Matplotlib后端

功能

一个最小示例

import threading
import time
import mpl_qtthread.backend
import matplotlib
import matplotlib.backends.backend_qt

mpl_qtthread.backend.initialize_qt_teleporter()
matplotlib.use("module://mpl_qtthread.backend_agg")

import matplotlib.pyplot as plt

plt.ion()


def background():
    # time.sleep(1)
    fig, ax = plt.subplots()
    (ln,) = ax.plot(range(5))
    for j in range(5):
        print(f"starting to block {j}")
        ln.set_color(f"C{j}")
        ax.set_title(f'cycle {j}')
        fig.canvas.draw_idle()
        time.sleep(5)


threading.Thread(target=background).start()
matplotlib.backends.backend_qt.qApp.exec()

由以下支持