Forcing x axis to align with y axis in Mathematica Plot?

Perfect! That's exactly what I was looking for, thank you! – Mike Bantegui Sep 30 at 21:37.

The following will draw your Axes on the left and bottom, irrespective to the coordinate values: aPlotf_, var_, opts : OptionsPattern := Plotf, var, AxesOrigin -> First /@ (# /. AbsoluteOptionsPlotf, var, opts, # &@PlotRange), opts aPlotEvaluateTableBesselJn, x, {n, 4}, {x, 0, 10}, Filling -> Axis aPlotSinx, {x, 0, 2 Pi}.

1 Handy! ----- – Simon Oct 1 at 11:31 @belisarius: I like your solution and Alexey Popkov's derived solution for their generality, but I want to stay away from them simply because it's so much more complicated and the alignment I need to do is easily satisfied by AxesOrigin->{0, 0}. It's too bad something like this isn't already built into Mathematica. – Mike Bantegui Oct 11 at 4:37 @Mike If all you need is the {0,0} case, obviously AxesOrigin is the way to go!

– belisarius Oct 11 at 4:41.

You could also use something like: Frame -> {{Automatic, None}, {Automatic, None}} (Also I think that fact that it's not choosing {0,0} by default means that y=0 is being brought into range by PlotRangePadding. So that may be another option to keep an eye on. ).

Here is (IMO) more elegant method based on belisarius's code which uses the DisplayFunction option (see here interesting discussion on this option): PlotEvaluateTableBesselJn, x, {n, 4}, {x, 0, 10}, Filling -> Axis, DisplayFunction -> Function{plot}, Showplot, AxesOrigin -> First /@ (PlotRange /. AbsoluteOptionsplot, PlotRange), DisplayFunction -> Identity The only drawback of both methods is that AbsoluteOptions does not always give correct value of PlotRange. The solution is to use the Ticks hack (which gives the complete PlotRange with explicit value of PlotRangePadding added): completePlotRangeplot_ := Last@Last@ ReapRasterize Showplot, Ticks -> (Sow{##} &), DisplayFunction -> Identity, ImageResolution -> 1 PlotEvaluateTableBesselJn, x, {n, 4}, {x, 0, 10}, Filling -> Axis, DisplayFunction -> Function{plot}, Showplot, AxesOrigin -> First /@ completePlotRangeplot, DisplayFunction -> Identity It is interesting to note that this code gives exactly the same rendering as simply specifying Frame -> {{Automatic, None}, {Automatic, None}}, Axes -> False: pl1 = PlotEvaluateTableBesselJn, x, {n, 4}, {x, 0, 10}, Filling -> Axis, DisplayFunction -> Function{plot}, Showplot, AxesOrigin -> First /@ completePlotRangeplot, DisplayFunction -> Identity; pl2 = PlotEvaluateTableBesselJn, x, {n, 4}, {x, 0, 10}, Filling -> Axis, Frame -> {{Automatic, None}, {Automatic, None}}, Axes -> False; Rasterizepl1 == Rasterizepl1 => True.

I knew about the PlotRange anomaly, but I thought it was related to some Plot cousins, but not to Plot itself. – belisarius Oct 1 at 19:56.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions