Non sono sicuro di quali sono le regole per l'aggiunta di un altro, risposta diversa per la stessa domanda . Ma ecco un altro modo diverso di farlo. Se dovessi aggiungere questo alla mia prima risposta, posso farlo.
È possibile aggiungere le etichette di testo, a mano, utilizzando i comandi di testo. Penso che sia migliore. Ecco un modo:
Clear[x];
funs = {Exp[x], 2^x, 3^x};
funNames = Style[#, 12] & /@ funs;
(*the x-axis plot range used *)
from = -5; to = 2;
(* generate the coordinates at the end of the plot lines*)
pos = Map[{to, #} &, funs /. x -> to];
(*generate the text labels *)
text = Map[Text[#[[1]], #[[2]], {-1, 0}] &, Thread[{funNames, pos}]];
Plot il risultato finale (ha aggiunto un po 'di imbottitura per tracciare gamma in modo che le etichette aggiunte sono visti completamente)
Plot[funs, {x, from, to},
PlotRangePadding -> {1, 1},
PlotStyle -> {Red, Green, Blue},
PlotRange -> All,
Epilog -> text
]
aggiornamento (1)
Sam ha chiesto sotto per un modo più semplice. Non sono sicuro ora. Ma un modo per rendere più facile l'utilizzo di questo metodo è quello di creare una funzione e quindi chiamare questa funzione una sola volta per generare le etichette di testo. Puoi mettere questa funzione dove metti tutte le altre funzioni che usi sempre e chiamala.
Qui c'è qualcosa: In primo luogo scrivere la funzione
(*version 1.1*)
myLegend[funs_List, (*list of functions to plot*)
x_, (*the independent variable*)
from_?(NumericQ[#] && Im[#] == 0 &),(*the x-axis starting plot range*)
to_?(NumericQ[#] && Im[#] == 0 &) (*the x-axis ending plot range*)
] := Module[{funNames, pos, text, labelOffset = -1.3},
(*make label names*)
funNames = Style[#, 12] & /@ funs;
(*generated the coordinates at the end of the plot lines*)
pos = Map[{to, #} &, funs /. x -> to];
(*generate the Text calls*)
text = Map[Text[#[[1]], #[[2]], {labelOffset, 0}] &,
Thread[{funNames, pos}]]
];
E ora basta chiamare il sopra di ogni volta che si desidera tracciare con le etichette. Sarà solo 1-2 righe di codice in più.in questo modo:
Clear[x]
from = -5; to = 2;
funs = {Exp[x], 2^x, 3^x};
Plot[funs, {x, from, to}, PlotRangePadding -> {1, 1},
PlotStyle -> {Red, Green, Blue}, PlotRange -> All,
Epilog -> myLegend[funs, x, from, to]]
Ecco alcuni esempi:
È possibile modificarlo come si desidera.
Anche se utilizza Graphics [] invece di pianura, [questo] (http://stackoverflow.com/a/7547457/353410) potrebbe darti qualche idea –
possibile duplicato di [Come posso etichettare le diverse curve in Mathematica?] (Http://stackoverflow.com/questions/7221315/how-do-i-belbel-different-curves-in -mathematica) – abcd