提高GTK窗口内调整大小(matplotlib)的速度

时间:2016-02-20 18:38:24

标签: python-3.x matplotlib pygtk gtk3

我有一些沉重的情节,它可以计算几秒钟,但是当我调整窗口/图表的大小时 - 它挂了一段时间,这对我来说不是明显的行为。我怎么解决这个问题?情节数据没有变化,只是调整大小 演示:

import numpy as np
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

import matplotlib
matplotlib.use('GTKCairo') 
from matplotlib.figure import Figure
from matplotlib.backends.backend_gtk3cairo import FigureCanvasGTK3Cairo as FigureCanvas

class MyApp:
    def __init__(self):
        self.Window = Gtk.Window()
        graphFig = Figure()
        graphCanvas = FigureCanvas(graphFig)
        self.Window.add(graphCanvas)

        # just example of heavy chart
        subplot = graphFig.add_subplot(111)
        for n in range(100):
            x = np.arange(0, 100, 0.01)
            y = np.sin(x) * n
            subplot.plot(x, y)

        return

    def Run(self):
        self.Window.show_all()
        Gtk.main()
        return 

App = MyApp()
App.Run()  

修复此问题有哪些选择?我只想在更新图表或用户平移/缩放图片时重绘图表。

1 个答案:

答案 0 :(得分:0)

要加快绘图速度,请考虑绘制较低分辨率的线条。每行1000个样本的100行是很多绘图。

除此之外,complete walkthrough the changes有一个非常详细的答案可以帮助你提高速度。