我正在使用Matplotlib小工具滑块在一个有很多图的图形上。当我移动滑块时,大约需要5秒来更新图形,这就是我的问题。 对问题进行故障排除后,似乎罪魁祸首是调用fig.canvas.draw()的小部件本身。如果在移动滑块时不执行任何操作(不修改任何子图),更新滑块仍然需要5秒,因为每次我触摸滑块时,fig.canvas.draw()都会用所有子图重新绘制所有图形。 在所有抱怨Matplotlib绘图速度的线程中,比如这里:why is plotting with Matplotlib so slow?,建议不要使用fig.canvas.draw(),因为它会重新绘制整个图形,而使用ax.
我在C#中有以下结构来表示图的边:
struct Edge
{
public Edge(int leftA, int leftB, int leftC, int leftD, int rightA, int rightB, int rightC, int rightD)
{
LeftIdA = leftA;
LeftIdB = leftB;
LeftIdC = leftC;
LeftIdD = leftD;
RightIdA = rightA;
RightIdB = rightB;