Re: ListPlot Problem

• To: mathgroup at smc.vnet.net
• Subject: [mg92904] Re: ListPlot Problem
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Sat, 18 Oct 2008 06:23:46 -0400 (EDT)
• Organization: The Open University, Milton Keynes, UK

```Youness Eaidgah wrote:
> Dear Masters,
> I wrote the following simple program to make a ListPlot, but it dose not
> work:

*snip* [... Input expressions are reproduced below ...]

> and surprisingly i get no plot and also no error message, just a chart
> without any point on it!! I have worked on it for a while, reading the list
> plot options, but I am not able to get out of the mess. I would appreciate
> if you could help me out.

Using FullForm will reveal it all: what you pass to ListPlot is not a
list of values but a list of dynamic expressions. ListPlot does not know
what to do with this dynamic expression and it defaults to plotting a
list of naughts.

In[1]:= Clear[x, a, b, c, d]

a = N[Dynamic[
Simplify[(8000*35 - 4000*(65 - x))*0.11 + (10000*35 -
2000*(65 - x))*0.11 + (12000*100 -
12000*65)*0.28 + (12000*100 - 12000*65)*0.22 + (12000*100 -
12000*65)*0.18 + (12000*100 - 12000*65)*0.1]], 10];

b = Dynamic[
Simplify[(8000*100 + 6000*x - 14000*65)*0.11 + (10000*100 +
4000*x - 14000*65)*0.11 + (12000*100 + 2000*x -
14000*65)*0.28 + (14000*100 - 14000*65)*0.22 + (14000*100 -
14000*65)*0.18 + (14000*100 - 14000*65)*0.1]];

c = Dynamic[
Simplify[(8000*100 + 8000*x - 16000*65)*0.11 + (10000*100 +
6000*x - 16000*65)*0.11 + (12000*100 + 4000*x -
16000*65)*0.28 + (14000*100 + 2000*x -
16000*65)*0.22 + (16000*100 - 16000*65)*0.18 + (16000*100 -
16000*65)*0.1]];

d = Dynamic[
Simplify[(8000*100 + 10000*x - 18000*65)*0.11 + (10000*100 +
8000*x - 18000*65)*0.11 + (12000*100 + 6000*x -
18000*65)*0.28 + (14000*100 + 4000*x -
18000*65)*0.22 + (16000*100 + 2000*x -
18000*65)*0.18 + (18000*100 - 18000*65)*0.1]];

f = {{12000, a}, {14000, b}, {16000, c}, {18000, d}}

x = 10;

Out[6]= {{12000, 360600.}, {14000, 340600.}, {16000, 281000.},
{18000, 189000.}}

In[8]:= f//FullForm

Out[8]//FullForm=
List[List[12000,Dynamic[Simplify[Plus[Times[Plus[Times[8000.
`10.000000000000004,35.`10.000000000000004],
Times[-1.`10.000000000000004,
(* Very long expressions deleted *) ... ]]]]]]

In[9]:= ListPlot[f]//FullForm

Out[9]//FullForm= Graphics[GraphicsComplex[List[],List[]],
List[Rule[AspectRatio,Power[GoldenRatio,-1]],
Rule[Axes,True], Rule[AxesOrigin, List[0,0]],
Rule[PlotRange,List[List[0.`,0.`],
List[0.`,0.`]]], Rule[PlotRangeClipping,True],