Подтвердить что ты не робот

Как обозначить разные кривые в Mathematica?

Как я могу пометить каждую из этих строк отдельно:

Plot[{{5 + 2 x}, {6 + x}}, {x, 0, 10}]

enter image description here

4b9b3361

Ответ 1

Там есть хороший код, который позволяет вам динамически делать это в ответе на Как комментировать несколько наборов данных в ListPlots.

Также существует команда LabelPlot, определенная в Технической заметке Маркировка кривых на графиках

Конечно, если у вас слишком много изображений, чтобы сделать, то нетрудно вручную добавить метки при использовании Epilog, например

fns[x_] := {5 + 2 x, 6 + x}; 
len := Length[fns[x]];

Plot[Evaluate[fns[x]], {x, 0, 10}, 
 Epilog -> Table[Inset[
    Framed[DisplayForm[fns[x][[i]]], RoundingRadius -> 5], 
    {5, fns[5][[i]]}, Background -> White], {i, len}]]

outputa

Фактически вы можете сделать что-то подобное с Locators, что позволяет перемещать метки везде, где вы хотите:

DynamicModule[{pos = Table[{1, fns[1][[i]]}, {i, len}]},
 LocatorPane[Dynamic[pos], Plot[Evaluate[fns[x]], {x, 0, 10}],
  Appearance -> Table[Framed[[email protected][fns[x][[i]]], 
                  RoundingRadius -> 5, Background -> White], {i, len}]]]

В приведенном выше примере я сделал локаторы в форме меток, хотя также возможно сохранить Epilog, как указано выше, и иметь невидимые локаторы, которые управляют позициями. Локаторы также могут быть ограничены (используя 2-й аргумент Dynamic) для соответствующих кривых... но это не обязательно.

В качестве примера приведенного выше кода с функциями с метками, перемещаемыми вручную:

fns[x_] := {Log[x], Exp[x], Sin[x], Cos[x]};

four functions

Ответ 2

Mathematica 9 теперь предоставляет простые способы включения легенд.

Plot[{{5 + 2 x}, {6 + x}}, {x, 0, 10}, PlotLegends -> "Expressions"]

Ответ 3

Вы можете вставлять легенды в свой сюжет, загружая пакет PlotLegends

<<PlotLegends`;
Plot[{5+2 x,6+x},{x,0,10},
    PlotLegend->{"5+2x","6+x"},LegendShadow->None,
    LegendPosition->{0.3,-0.5},LegendSpacing->-0,LegendSize->0.5]

enter image description here


Однако позвольте мне также отметить мою нелюбовь к этому пакету, в первую очередь потому, что он чрезвычайно противоречит ожиданиям, загружен слишком большим количеством вариантов и не обеспечивает чистого опыта прямо из коробки, как и большинство функций Mathematica. У вас будет какое-то возиться, чтобы сделать выбор, чтобы получить то, что вы хотите. Однако на графиках и диаграммах, где вам нужна легенда, это может быть удобно. Также см. Комментарии к этому ответу и этот вопрос.