Plot confidence interval around curve

Your figure with the "band" shows a 95% prediction band and not a 95% confidence band. In Mathematica lingo you need to decide on whether you want a SinglePredictionBand or a MeanPredictionBand, respectively. (And the one you show is not appropriate given the change in variance from low predictor values to high predictor values.)

Here is an example for obtaining both types of bands:

n = 100;
x = Table[(π/3) i/n, {i, n}];
y = Sin[2 x] + RandomVariate[NormalDistribution[0, 0.2], n];
data = Transpose[{x, y}];
nlm = NonlinearModelFit[data, a + Sin[b t], {{a, 0}, {b, 2}}, t];
Show[ListPlot[data],
 Plot[{nlm[t], nlm["SinglePredictionBands"], 
   nlm["MeanPredictionBands"]}, {t, 0, π/3}, 
  Filling -> {2 -> {1}, 3 -> {1}}], Frame -> True, 
 AxesOrigin -> {0, -0.5}, ImageSize -> Large]

Confidence and prediction bands


Something like this,

confidenceinterval = .2;
Plot[{Sin[2 x],
  Sin[2 x] + .5 confidenceinterval,
  Sin[2 x] - .5 confidenceinterval},
 {x, 0, Pi/3},
 Filling -> {3 -> {2}},
 FillingStyle -> Directive[Opacity[.3], Pink],
 PlotStyle -> {Automatic, None, None}]

enter image description here


In V.12 this functionality has been finally automated with Around and IntervalMarkers. The code is as simple as that (@JimB's correct band procedure can be incorporated as well).

list = Table[Around[Sin[2 x], 0.2], {x, 0, Pi/3, Pi/3/20}];

ListLinePlot[list, IntervalMarkers -> "Bands", PlotRange -> 1.5]

enter image description here

ListPlot[list, IntervalMarkers -> "Bars", PlotRange -> 1.5]

enter image description here