DiscretePlot and difference tables; trying to offset bars

*To*: mathgroup at smc.vnet.net*Subject*: [mg121312] DiscretePlot and difference tables; trying to offset bars*From*: "Christopher O. Young" <cy56 at comcast.net>*Date*: Fri, 9 Sep 2011 05:50:29 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com

I've finally got bars charted to show the differences, but I'd like to offset them from the original function values. Also, I'm getting a divide-by-zero error somehow. I think it came in with the second DiscretePlot. DynamicModule[ { f = x, a = 0, b = 6 }, Grid[ { {InputField[Dynamic[f]]}, {InputField[Dynamic[a], Number]}, {InputField[Dynamic[b], Number]}, {Grid[{ { (* A row with the graph on the left and the difference table on \ right *) Dynamic[ Show[{ DiscretePlot[ f, {x, a, b, 1}, ExtentSize -> Full, ColorFunction -> "Rainbow" ], DiscretePlot[ Differences[f /. x -> Range[a, b], 1][[i]], {i, 1, b - a}, ExtentSize -> Full, ColorFunction -> "Rainbow" ], Plot[ f, {x, a, b}, PlotRange -> {{a, b}, {(f /. x -> a), (f /. x -> b)}}, Mesh -> b - a - 1, GridLines -> {Range[a, b], Range[f /. x -> a, f /. x -> b, Sign[(f /. x -> b) - (f /. x -> a)]]}, GridLinesStyle -> Directive[Gray, Dashed], ImageSize -> Medium ] }, Axes -> True, Frame -> True, FrameTicks -> {True, True} ] (* Show *) ], (* Column *) Dynamic[ Row[ (* The difference table *) Table[ Column[ Differences[f /. x -> Range[a, b], k], ItemSize -> {3, 3} ], {k, 0, Exponent[f , x] + 1} ], Frame -> True, Alignment -> Top ] ] } }, Frame -> True, Alignment -> {Left, Top} ] (* Grid for graph and difference table *) } }, Frame -> All ] (* Grid for whole display *) ]