Python matplotlib图例性能问题

Python matplotlib图例性能问题,python,matplotlib,jupyter-notebook,legend,Python,Matplotlib,Jupyter Notebook,Legend,我正在使用带有python 3.6.2和matplotlib的Jupyter笔记本来绘制一些数据 当我绘制数据时,我想在绘图中添加图例(基本上是为了知道哪一行是哪一行) 然而,调用plt.legend需要很多时间(几乎和情节本身一样多,据我所知,这应该是即时的) 再现问题的最小玩具问题: import numpy as np import matplotlib.pyplot as plt # Toy useless data (one milion x 4) my_data = np.rand

我正在使用带有python 3.6.2和matplotlib的Jupyter笔记本来绘制一些数据

当我绘制数据时,我想在绘图中添加图例(基本上是为了知道哪一行是哪一行)

然而,调用
plt.legend
需要很多时间(几乎和情节本身一样多,据我所知,这应该是即时的)

再现问题的最小玩具问题:

import numpy as np
import matplotlib.pyplot as plt

# Toy useless data (one milion x 4)
my_data = np.random.rand(1000000,4)

plt.plot(my_data)
#plt.legend(['A','C','G','T'])
plt.show()
这里的数据只是随机和无用的,但它再现了我的问题: 如果我取消注释
plt.legend
行,运行时间几乎是原来的两倍

为什么??图例不应该只查看绘图,看到已经绘制了4个绘图,然后绘制一个框,将每个颜色指定给相应的字符串吗

为什么一个简单的传说要花这么多时间

我遗漏了什么吗?

复制@bnaecker的答案,从而回答这个问题:


默认情况下,图例将放置在“最佳”位置,这需要计算每条线中有多少点位于潜在图例框内。如果有很多要点,这可能需要一段时间。当指定“最佳”以外的位置时,绘图速度要快得多,例如
plt.legend(loc=3)

默认情况下,图例将放置在“最佳”位置,这需要计算每条线的多少点位于潜在图例框内。如果有很多要点,这可能需要一段时间。指定“最佳”以外的位置时,绘图速度要快得多。