Ограничение размера легенды в MatPlotLib python, затем возможность прокрутки внутри легенды - PullRequest
0 голосов
/ 24 марта 2020

Я бы хотел ограничить размер легенды в MatPlotLib масштабированием с помощью фигуры. После этого я хотел бы включить прокрутку в легенде, чтобы увидеть любые обрезанные данные. Это касается двух легенд, каждая из которых соответствует отдельному сюжету. Изображение прикреплено, чтобы показать точную настройку:

image

На этом изображении вы можете видеть, что легенды перекрывают друг друга, а также обрезается по нижней части кадра.

Вот код python, используемый для получения рисунка:

import matplotlib.pyplot as plt
from matplotlib.transforms import Bbox

fig, axes = plt.subplots(2, figsize=(9,6))

x = [i for i in range(100)]
y_data = []
for i in range(1,15):
    temp = []
    for j in x:
        temp.append(i * j)
    y_data.append(temp)

for line in y_data:
    axes[0].plot(x, line, '.')
    axes[1].plot(x, line, '.')

axes[0].legend(x, bbox_to_anchor=(1.02, 0, 0.07, 1))
axes[1].legend(x, bbox_to_anchor=(1.02, 0, 0.07, 1))

plt.show() 

Я хотел бы изменить этот код, чтобы легенда была меньше и, таким образом, если в легенде имеется большое количество строк, можно прокрутить данные, которые не находятся в пределах легенды.

Я попытался использовать идеи здесь: Исправить размер легенды в matplotlib , но, похоже, он не масштабировался с двумя подзаговорами. Установка высоты и ширины в bbox_to_anchor также, похоже, не ограничивала легенду - только переместите ее.

Как я могу выполнить sh это?

...