Re: listplot and plot of the same function display in different scale...
- To: mathgroup at smc.vnet.net
- Subject: [mg51647] Re: listplot and plot of the same function display in different scale...
- From: Bill Rowe <readnewsciv at earthlink.net>
- Date: Wed, 27 Oct 2004 23:43:09 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
On 10/27/04 at 1:54 AM, sean_incali at yahoo.com (sean kim) wrote: >let's say you want to take a few points from an interploating >function and ListPlot it. and then show it together with the graph >object from Plot. >so... >solution = NDSolve[{y'[t] == -y[t], y[0] == 1}, {y}, {t, 0, 7}]; >g0 = Plot[Evaluate[y[t] /. solution], {t, 0, 7}, DisplayFunction -> >Identity]; g1 = ListPlot[Flatten[Table[Evaluate[y[t]/.solution], >{t, 0, 7, 0.05}]],PlotStyle -> PointSize[0.015], DisplayFunction -> >Identity]; >Show[g0, g1, DisplayFunction -> $DisplayFunction] >will show two plots in one graph, but plots have their own axis >scale. the Plot[] object seems to be shrunk in scales due to >ListPlot[] object having more points. (due to being tabled) >How do i fix this so that both Plot have same axis scales? ( I want >to show dots from ListPlot to overlay on top of Plot graph. ) A simple solution would be to retain the value of the independent variable for the ListPlot, i.e., redefine g1 as: g1 = ListPlot[Flatten/@Table[{t,Evaluate[y[t]/.solution]}, ... An alternative solution would be to replace ListPlot with the ScaledListPlot function in Graphics`Graphics`. Then g1 would become g1 = ScaledListPlot[Flatten[Table[Evaluate[y[t]/.solution], {t, 0, 7, 0.05}]],PlotStyle -> PointSize[0.015], DisplayFunction -> Identity, ScaleFunction->{.05(#-1)&, #&}]; -- To reply via email subtract one hundred and four