Я работаю с библиотекой 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)
Это производит:
Вы заметите, что метки графика усечены. Есть ли способ предотвратить это или изменить график для вывода легенды?
@r-beginners, да, я запускаю это в терминале, а не в ноутбуке, поэтому вижу другой результат.
perfplot
кажется, использует matplotlib для отображения. Согласно сайту github, вы можете разделить расчет и построение графика, что дает вам возможность внедрить автоформат (в основном plt.tight_layout()
) с rcParams для этого графика.
Вы можете добавить следующее перед вашим скриптом:
from matplotlib import pyplot as plt
plt.rcParams["figure.autolayout"] = True
Пример вывода:
Однако возможно взаимодействие с другими графами при использовании этого подхода.
В Colaboratory (perfplot-0.8.8) метки отображались нормально, без разрывов.