Расположение легенды, похожее на телефон - PullRequest
0 голосов
/ 30 октября 2018

В течение многих лет я задавался вопросом, почему нумерация местоположений легенды Python не имеет смысла:

Location String Location Code
'best'          0
'upper right'   1
'upper left'    2
'lower left'    3
'lower right'   4
'right'         5
'center left'   6
'center right'  7
'lower center'  8
'upper center'  9
'center'        10

Для меня было бы гораздо разумнее присвоить номера, как если бы они были на мобильном телефоне:

Location String Location Code
'best'          0
'upper left'    1
'upper center'  2
'upper right'   3
'center left'   4
'center'        5
'center right'  6
'lower left'    7
'lower center'  8
'lower right'   9

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

Или есть какое-то изменение, которое будет скоро изменено?

ps. Какова цель иметь в качестве опций расположения легенды и «право», и «право по центру»?

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Если вы в отчаянии, вы можете сделать что-то вроде

locations = [0, 2, 9, 1, 6, 10, 7, 3, 8, 4]

plt.legend(loc=locations[telephone_index])

(и если вы действительно в отчаянии, вы можете написать обертку для legend()).

0 голосов
/ 30 октября 2018

Числа, по существу, существуют для обратной совместимости. Большинство примеров в документации по matplotlib уже были изменены для использования текстовой формы.
Для текста вам нужно только запомнить, что

  • вертикальное направление идет первым («верхний», «центр», «нижний»), за которым следует горизонтальное направление («влево», «центр», правый »)
  • Нет "центра центра", а это просто "центр".


Вы можете, конечно, распечатать эту маленькую картинку [*]

enter image description here

и закрепите его на экране.


Более точный способ будет заключаться в использовании обозначения «компас», такого как «N», «NW», «SE» и т. Д., Которое уже было предложено здесь . Теперь я предложил такое решение в этом запросе .

...