2 Added another solution edited Jul 6 '13 at 8:32 Teake Nutma 4,95911 gold badge1818 silver badges4444 bronze badges The plots are misaligned because plot b doesn't have the exact same options as a, which causes it to be drawn slightly different. If you give the same options to plot b (PlotRange, AxesOrigin, and AxesLabel) b = Plot[-2 f'[z], {z, 0, 5}, PlotLegend -> "Theory", PlotRange -> {{0, 5}, {0, 1}}, LegendPosition -> {1.1, -0.4}, AxesOrigin -> {0, 0}, AxesLabel -> {"gamma", "quantity"}]  then you can use Show[a,b] to get them lined up:  Note that you'll have to move the "Theory" legend to get the "N=10" legend to show. Alternatively, you could generate a set of data from the theoretical functions, and plot that in one go with your other data: plottheory = Table[{z, -2 f'[z]}, {z, 0, 5, 0.01}]; ListPlot[ {plotgamma6, plotgamma10, plottheory}, AxesOrigin->{0,0}, PlotRange->{{0,5},{0,1}}, AxesLabel->{"gamma","quantity"}, PlotStyle->PointSize[0.02], PlotLegend-> {"N=6","N=10","theory"}, LegendPosition->{1.1,-0.4}, Joined->True, PlotMarkers->{\[FilledSmallSquare],\[FilledSmallCircle],""} ]  This gives a slightly nicer output: The plots are misaligned because plot b doesn't have the exact same options as a, which causes it to be drawn slightly different. If you give the same options to plot b (PlotRange, AxesOrigin, and AxesLabel) b = Plot[-2 f'[z], {z, 0, 5}, PlotLegend -> "Theory", PlotRange -> {{0, 5}, {0, 1}}, LegendPosition -> {1.1, -0.4}, AxesOrigin -> {0, 0}, AxesLabel -> {"gamma", "quantity"}]  then you can use Show[a,b] to get them lined up: Note that you'll have to move the "Theory" legend to get the "N=10" legend to show. The plots are misaligned because plot b doesn't have the exact same options as a, which causes it to be drawn slightly different. If you give the same options to plot b (PlotRange, AxesOrigin, and AxesLabel) b = Plot[-2 f'[z], {z, 0, 5}, PlotLegend -> "Theory", PlotRange -> {{0, 5}, {0, 1}}, LegendPosition -> {1.1, -0.4}, AxesOrigin -> {0, 0}, AxesLabel -> {"gamma", "quantity"}]  then you can use Show[a,b] to get them lined up: Note that you'll have to move the "Theory" legend to get the "N=10" legend to show. Alternatively, you could generate a set of data from the theoretical functions, and plot that in one go with your other data: plottheory = Table[{z, -2 f'[z]}, {z, 0, 5, 0.01}]; ListPlot[ {plotgamma6, plotgamma10, plottheory}, AxesOrigin->{0,0}, PlotRange->{{0,5},{0,1}}, AxesLabel->{"gamma","quantity"}, PlotStyle->PointSize[0.02], PlotLegend-> {"N=6","N=10","theory"}, LegendPosition->{1.1,-0.4}, Joined->True, PlotMarkers->{\[FilledSmallSquare],\[FilledSmallCircle],""} ]  This gives a slightly nicer output: 1 answered Jul 5 '13 at 19:57 Teake Nutma 4,95911 gold badge1818 silver badges4444 bronze badges The plots are misaligned because plot b doesn't have the exact same options as a, which causes it to be drawn slightly different. If you give the same options to plot b (PlotRange, AxesOrigin, and AxesLabel) b = Plot[-2 f'[z], {z, 0, 5}, PlotLegend -> "Theory", PlotRange -> {{0, 5}, {0, 1}}, LegendPosition -> {1.1, -0.4}, AxesOrigin -> {0, 0}, AxesLabel -> {"gamma", "quantity"}]  then you can use Show[a,b] to get them lined up: Note that you'll have to move the "Theory" legend to get the "N=10" legend to show.