Мне также было бы очень интересно ответить на этот вопрос.
Чтобы рассказать вам, что не так с PlotLegends: он ужасно нестабилен и во многих случаях вообще не работает.
Вот пример, когда PlotLegends полностью облажается.Вывод из Mathematica 7.0:
Предположим, что мы измерили некоторые точки данных, соответствующие ряду функций, и мы хотим показать, насколько хорошо они сравниваются с идеальной функцией, или, возможно, насколько хорошо они совпадают с вычисленнойпоместиться.Нет проблем!Мы просто покажем [] гладкий график вместе с ListPlot точек данных, верно?
Это может выглядеть примерно так:
Show[
Plot[{Sin[x], Sinh[x]}, {x, -Pi, Pi}],
ListPlot[Join[{#, Sin[#]} & /@ Range[-Pi, Pi, .5],
{#, Sinh[#]} & /@ Range[-Pi, Pi, .5]]]
]
![alt text](https://i.stack.imgur.com/AjYdW.png)
Теперь мы хотели бы поставить легенду на сюжет, чтобы читатели знали, на что они смотрят.Легче сказать, чем сделать, мистер!Давайте добавим PlotLegend на участок []:
Show[
Plot[{Sin[x], Sinh[x]}, {x, -Pi, Pi}, PlotLegend -> {Sin[x], Sinh[x]}],
ListPlot[Join[{#, Sin[#]} & /@ Range[-Pi, Pi, .5],
{#, Sinh[#]} & /@ Range[-Pi, Pi, .5]]]
]
![alt text](https://i.stack.imgur.com/SbY8V.png)
Это выглядит БОЛЬШОЕ!Немедленно опубликуйте!
Для такой базовой и повсеместно необходимой функциональности, несомненно, было много работы, чтобы найти альтернативу PlotLegend, которая просто работает.Наилучшая альтернатива, которую я нашел до сих пор, - тщательно составить список сюжетов, затем создать легенду вручную и, наконец, показать ее вместе с графиком, используя ShowLegend [].(См. Например здесь ) Это возможно, но много работы.
Так что, если кто-нибудь знает обходной путь для работы PlotLegend, альтернативный пакет, который работает лучше, или просто аккуратный способ получить легенды, которые можно легко автоматизировать, я был бы очень признателен!Это определенно сделало бы жизнь немного легче.