графическое изображение легенд в Mathematica

Как Вы выводите легенды на печать для функций, не используя пакет PlotLegends?

24
задан Wombat 11 August 2010 в 22:42
поделиться

1 ответ

Мне тоже был бы очень интересен ответ на этот вопрос.

Чтобы сказать вам, что не так с PlotLegends: он ужасно нестабилен и во многих случаях вообще не работает.

Вот пример, когда PlotLegends полностью облажался. Выходные данные взяты из Mathematica 7.0:

Предположим, что мы измерили некоторые точки данных, соответствующие ряду функций, и мы хотим показать, насколько хорошо они сравниваются с идеальной функцией или, может быть, насколько хорошо они совпадают с вычисленным соответствием. Без проблем! Мы просто покажем [] плавный график вместе со списком точек данных, не так ли?

Это может выглядеть примерно так:

Show[
 Plot[{Sin[x], Sinh[x]}, {x, -Pi, Pi}],
 ListPlot[Join[{#, Sin[#]} & /@ Range[-Pi, Pi, .5], 
               {#, Sinh[#]} & /@ Range[-Pi, Pi, .5]]]
 ]

alt text

Теперь мы хотели бы поместить легенду на график, чтобы читатели могли знают, на что они смотрят. Легче сказать, чем сделать, мистер! Давайте добавим PlotLegend к Plot []:

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

Это выглядит ОТЛИЧНО! Опубликуйте немедленно!

Для такой базовой и повсеместно необходимой функциональности потребовалось много работы, чтобы найти альтернативу PlotLegend, которая просто работает. Лучшая альтернатива, которую я нашел до сих пор, - это тщательно составить список стилей сюжета, затем вручную построить легенду и, наконец, показать ее вместе с сюжетом с помощью ShowLegend []. (См., Например, здесь ) Это возможно, но предстоит много работы.

Итак, если кто-нибудь знает обходной путь, чтобы заставить PlotLegend работать, альтернативный пакет, который работает лучше, или просто изящный способ получить легенды, которые можно легко автоматизировать, я был бы очень благодарен! Это, безусловно, сделало бы жизнь немного проще.

7
ответ дан 29 November 2019 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: