我正在使用 perfplot
库(您可以通过 pip 安装),该库对函数进行基准测试并绘制其性能图。
观察绘制的图形时,标签被截断。我该如何防止这种情况发生?
这是一个简单的 MCVE:
import perfplot
from itertools import chain
perfplot.__version__
# '0.8.8'
perfplot.show(
setup=lambda n: [[1] * 100] * n,
kernels=[
lambda L: sum(L, []),
lambda L: list(chain.from_iterable(L))
],
labels=['list_concat_sum', 'list_concat_chain'],
n_range=range(1, 500, 100),
xlabel='# lists',
logy=True,
logx=True)
这会产生:
您会注意到图形标签被截断了。有没有办法防止这种情况,或更改图形以输出图例?
答案 0 :(得分:2)
perfplot
似乎使用 matplotlib 进行显示。根据 github 站点,您可以将计算和绘图分开,从而可以为该图注入带有 rcParams 的自动格式(基本上是 plt.tight_layout()
)。
您可以在脚本前添加以下内容:
from matplotlib import pyplot as plt
plt.rcParams["figure.autolayout"] = True
不过,在使用这种方法时,可能会与其他图进行交互。