ClearAll["Global`*"]

Using Legends with Plot[ ]

If you have multiple plots, here is one way to add a legend. Start by defining all your functions. The {0.85,0.4} is a relative {x,y} position for the legend placement; the rest of the features speak for themselves. You can place the legend inside or outside the frame; Mathematica might reorganize the looks of the legend depending on whether and where it overlaps with the frame.

f1[x_]=x; f2[x_]=1-(((1-x))^2); f3[x_]=(1/(10 x)); f4[x_]=Cos[x];  (*these are my 4 functions *)
Plot[{f1[x],f2[x],f3[x],f4[x]},{x,0,1},PlotRange-> {{0,1},{0,1}},ImageSize->{900,400},AspectRatio->.7, AxesStyle->Black,Frame->True,LabelStyle->Directive[{Bold,Medium}],FrameLabel->{"time","Voltage"},Axes->False,PlotLegends-> Placed[{"August","September","October","November"},{0.85,0.4}],PlotStyle->{Directive[Red,Thick],Directive[Blue,Thick],Directive[Darker[Green],Thick],Directive[Orange,Thick]}]

Using Legends with Show[ ]

Adding legends to Mathematica is more tricky if you are using the “Show” command to combine several plots. The internet is full of old advice that is no longer true, mostly created because Mathematica changed the syntax twice every year for the past 8 years, and forgot to include the new methods in their Help documents. Many of these issues seem to have been resolved for Mathematica 11:

plot1=Plot[x,{x,0,1.0},PlotStyle->Directive[RGBColor[1,0,0],AbsoluteThickness[2]]] (*Red*); 
plot2=Plot[1-(((1-x))^2),{x,0,1.0},PlotStyle->Directive[RGBColor[0,0,1],AbsoluteThickness[2]]](*Blue*); 
plot3=Plot[(1/(10 x)),{x,0,1.0},PlotStyle->Directive[RGBColor[0,0.67,0],AbsoluteThickness[2]]](*Dark Green*); 
plot4=Plot[Cos[x],{x,0,1.0},PlotStyle->Directive[RGBColor[1,0.5,0],AbsoluteThickness[2]]](*Orange*);

Next, we need to make some info to be used in the legend. It consists of two columns: the first is RGB color data (those words “Red”, etc. that you see are actually constants representing numerical color data). The second column is the name of each line as you hope to see it in the legend.
You’ll notice that you might have to use some trial-and-error to determine where and how big you want the legend box to be, and you’ll have to be careful to make sure you match the properties of your original Plot commands (such as color, line thickness, etc.).

Legended[Show[plot1,plot2,plot3,plot4,AxesStyle->Black,FrameLabel->{"Time (s)","Voltage"},Frame->True,FrameTicks->All,PlotRange-> {0,1.0},BaseStyle->{12,FontFamily->"Helvetica"}],Placed[LineLegend[{Red,Blue,Darker[Green],Orange},{Style["August",12],Style["September",12],Style["October",12],Style["November",12]},LegendMargins->{{15,15},{5,5}},LabelStyle->Directive[{Bold}],LegendFunction->Framed],{{0.67,0.2},{0,0}}]]

Here’s another example of “Legended”:

ymax = 2.5;xmax=2.0;
f0[x_]=2+0.2 x -(x^2);
f1[x_]=2-0.25*x+0.5*(x^2)-1.2 (x^3);
f2[x_]=2*Cos[1 x];
plot1=Plot[f0[x],{x,0,xmax},PlotStyle->Directive[RGBColor[1,0,0],AbsoluteThickness[2]],PlotRange-> {0,ymax}] ;(*Red*)
plot2=Plot[f1[x],{x,0,xmax},PlotStyle->Directive[RGBColor[0,0,1],AbsoluteThickness[2]],PlotRange-> {0,ymax}]; (*Blue*)
plot3=Plot[f2[x],{x,0,xmax},PlotStyle->Directive[RGBColor[0,.67,0],AbsoluteThickness[2]],PlotRange-> {0,ymax}]  ;
Legended[Show[plot1,plot2,plot3,AxesStyle->Black,FrameLabel->{"x","f(x)"},Frame->True,FrameTicks->All,PlotRange-> {{0,2.0},{0,2.5}},BaseStyle->{12,FontFamily->"Helvetica"}],Placed[LineLegend[{Red,Blue,Darker[Green]},{Style["Parabolic",12],Style["Cubic",12],Style["Cosine",12]},LegendMargins->{{15,15},{5,5}},LabelStyle->Directive[{Bold}]],{{0.05,0.15},{0,0}}]]

Using Legends with Frames

Plot[{Sin[x],Cos[x],Tan[x]},{x,5,10},PlotRange->{-3.5,5},PlotStyle->{{Red,Thickness[0.005]},{Blue,Thickness[0.005]},{Green,Thickness[0.005]}},Axes->False,Frame->True,FrameLabel->{{"Left",Rotate["Right",180 Degree]},{"Bottom","Top"}},LabelStyle-> Directive[20],PlotLegends->Placed[LineLegend[{Directive[Red,AbsoluteThickness[3]],Directive[Blue,AbsoluteThickness[3]],Directive[Green,AbsoluteThickness[3]]},{"sin","cos","tan"},LabelStyle-> Directive[20],LegendLayout->"Column",LegendFunction->"Panel",LegendMarkerSize->{{45,15}}],{0.87,0.75}]]