MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How can I force ListPlot to show all data in graphics?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg28553] Re: How can I force ListPlot to show all data in graphics?
  • From: "Allan Hayes" <hay at haystack.demon.co.uk>
  • Date: Fri, 27 Apr 2001 03:56:07 -0400 (EDT)
  • References: <9c7mvn$scn@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Jing,

>  can not figure out which options to change
> to force the graphics to show all data?

Try the option  PlotRange->All

> --- how can I change the ticks to make major
> ticks bigger than the minors.

Tom Wickham-Jones has a package for customizing ticks. It is discussed in
his book "Mathematica Graphics" and is available from
http://www.mathsource.com/ as part of ExtendGraphics


--
Allan
---------------------
Allan Hayes
Mathematica Training and Consulting
Leicester UK
www.haystack.demon.co.uk
hay at haystack.demon.co.uk
Voice: +44 (0)116 271 4198
Fax: +44 (0)870 164 0565

"Xing Jing Li" <xingjing at calvin.math.vt.edu> wrote in message
news:9c7mvn$scn at smc.vnet.net...
>
> Hi,
>
> I had some data in some lists that I want to plot. While I was
> plotting them using LIstPlot I saw some of the graphics did not show
> all data in the Y-axes. I can not figure out which options to change
> to force the graphics to show all data? I have data and functions as
> following:
>
> ---------- snip -----------------------------------------------------
> tcid = "000003";
> date = "Apr-24-2001";
> data = {{000003, 38916, 39863}, {000003, 38472, 40401}, {000003, 43777,
>          45453}, {000003, 45265, 45808}, {000003, 44934, 46693}, {000003,
>          48092, 50120}, {000003, 50662, 52348}, {000003, 54775,
>          55639}, {000003, 54577, 56029}, {000003, 60948, 61788}, {000003,
>          63202, 64775}, {000003, 63702, 65867}, {000003, 65480,
>          66462}, {000003, 66328, 67054}, {000003, 66498, 67480}, {000003,
>          66364, 67610}, {000003, 66739, 69041}, {000003, 69925,
>          73104}, {000003, 72516, 73308}, {000003, 73087, 73350}, {000003,
>          72888, 73592}, {000003, 75081, 76004}, {000003, 74249,
>          76013}, {000003, 73930, 76211}, {000003, 79932, 81828}, {0,
32400,
>          32400}};
> eTestLoad[data] :=
>      Module[{load, startTime, sh, sm, ss, endTime, eh, em, es, time, tnum,
tp,
>          tl, TickFunc, index}, load = {};
>        startTime = Min[Table[data[[i, 2]], {i, 1, Length[data]}]];
>        endTime = Max[Table[data[[i, 3]], {i, 1, Length[data]}]];
>        sh = Floor[N[(startTime/3600)]];
>        sm = Floor[N[startTime/3600 - sh]*60];
>        ss = Floor[N[((startTime/3600 - sh)*60 - sm)*60]];
>        If[StringLength[ToString[sm]] < 2, sm = "0" <> ToString[sm]];
>        If[StringLength[ToString[ss]] < 2, ss = "0" <> ToString[ss]];
>        eh = Floor[N[(endTime/3600)]];
>        em = Floor[N[endTime/3600 - eh]*60];
>        es = Floor[N[((endTime/3600 - eh)*60 - em)*60]];
>        If[StringLength[ToString[em]] < 2, em = "0" <> ToString[em]];
>        If[StringLength[ToString[es]] < 2, es = "0" <> ToString[es]];
>        time = startTime;
>        While[time == endTime, tnum = 0;
>          For[index = 1, index < Length[data], index++,
>            If[time =84 data[[index, 2]] && time == data[[index, 3]],
tnum++
> ]];
>          AppendTo[load, tnum];
>          time = time + 60];
>        AppendTo[load, 0];
>        Print[
>          "Starting Time: " <> ToString[sh] <> ":" <> ToString[sm] <> ":"
<>
>            ToString[ss] <> "\n" <> "Ending Time: " <> ToString[eh] <> ":"
<>
>            ToString[em] <> ":" <> ToString[es] <> "\n" <> "Number of
tests:
>  " <>
>             ToString[Length[data] - 1] <> "\n" <>
>            "Number of tests within a minute: " <> ToString[Max[load]]];
>        If[0 == Max[load] == 10, testNum = Table[i, {i, 1, Max[load]}],
>          If[10 < Max[load] == 20,
>            tnLabel = Flatten[Table[{"", 2i}, {i, 1, Ceiling[Max[load]/2]}]
> ];
>            tnPos = Table[i, {i, 1, Max[load]}];
>            testNum = Table[{tnPos[[i]], tnLabel[[i]]}, {i, 1, Max[load]}],
>            If[20 < Max[load] == 50, testNum = Automatic,
>              If[50 < Max[load] == 100,
>                tnLabel =
>                  Flatten[
>                    Table[{"", "", "", "", 10i}, {i, 1,
>                        Ceiling[Max[load]/10]}]];
>                tnPos = Table[2i, {i, 1, Ceiling[Max[load]/2]}];
>                testNum =
>                  Table[{tnPos[[i]], tnLabel[[i]]}, {i, 1,
>                      Ceiling[Max[load]/2]}], testNum = Automatic]]]];
>        tp = Table[60*i, {i, 1, eh - sh + 1}];
>        tl = Table[sh + i, {i, 1, eh - sh + 1}];
>        TickFunc = {Table[{tp[[i]], tl[[i]]}, {i, 1, Length[tp]}], testNum}
> ;
>        ListPlot[load, PlotJoined -> True, ImageSize -> {450, 300},
>          AxesLabel -> {"Day Time", "Number of Tests"}, PlotLabel -> date,
>          Ticks -> TickFunc]];
> eTestLoadCourse[data, tcid_String] :=
>      Module[{course, courseData, load, startTime, sh, sm, ss, endTime, eh,
em,
>          es, time, tnum, tp, tl, TickFunc, index, testNum},
>        course = Read[StringToStream[tcid], Number];
>        courseData = {};
>        For[index = 1, index == Length[data], index++,
>          If[data[[index, 1]] == course, AppendTo[courseData, data[[index
> ]]]]];
>        load = {};
>        startTime = Min[Table[courseData[[i, 2]], {i, 1, Length[courseData]
> }]];
>        endTime = Max[Table[courseData[[i, 3]], {i, 1, Length[courseData]}]
> ];
>        sh = Floor[N[(startTime/3600)]];
>        sm = Floor[N[startTime/3600 - sh]*60];
>        ss = Floor[N[((startTime/3600 - sh)*60 - sm)*60]];
>        If[StringLength[ToString[sm]] < 2, sm = "0" <> ToString[sm]];
>        If[StringLength[ToString[ss]] < 2, ss = "0" <> ToString[ss]];
>        eh = Floor[N[(endTime/3600)]];
>        em = Floor[N[endTime/3600 - eh]*60];
>        es = Floor[N[((endTime/3600 - eh)*60 - em)*60]];
>        If[StringLength[ToString[em]] < 2, em = "0" <> ToString[em]];
>        If[StringLength[ToString[es]] < 2, es = "0" <> ToString[es]];
>        time = startTime - Mod[startTime, sh*3600];
>        While[time == endTime, tnum = 0;
>          For[index = 1, index == Length[courseData], index++,
>            If[time =84 courseData[[index, 2]] && time ==
courseData[[index,
>  3]],
>              tnum++]];
>          AppendTo[load, tnum];
>          time = time + 30];
>        AppendTo[load, 0];
>        Print[
>          "Test Configuration ID: " <> tcid <> "\n" <> "Starting Time: " <>
>            ToString[sh] <> ":" <> ToString[sm] <> ":" <> ToString[ss] <>
>  "\n" <>
>             "Ending Time: " <> ToString[eh] <> ":" <> ToString[em] <> ":"
<>
>            ToString[es] <> "\n" <> "Number of tests: " <>
>            ToString[Length[courseData]] <> "\n" <>
>            "Number of tests within a minute: " <> ToString[Max[load]]];
>        If[0 == Max[load] == 10, testNum = Table[i, {i, 1, Max[load]}],
>          If[10 < Max[load] == 20,
>            tnLabel = Flatten[Table[{"", 2i}, {i, 1, Ceiling[Max[load]/2]}]
> ];
>            tnPos = Table[i, {i, 1, Max[load]}];
>            testNum = Table[{tnPos[[i]], tnLabel[[i]]}, {i, 1, Max[load]}],
>            If[20 < Max[load] == 50, testNum = Automatic,
>              If[50 < Max[load] == 100,
>                tnLabel =
>                  Flatten[
>                    Table[{"", "", "", "", 10i}, {i, 1,
>                        Ceiling[Max[load]/10]}]];
>                tnPos = Table[2i, {i, 1, Ceiling[Max[load]/2]}];
>                testNum =
>                  Table[{tnPos[[i]], tnLabel[[i]]}, {i, 1,
>                      Ceiling[Max[load]/2]}], testNum = Automatic]]]];
>        tp = Table[60*i, {i, 1, 2*(eh - sh + 1)}];
>        tl = Flatten[Table[{"", sh + i}, {i, 1, eh - sh + 1}]];
>        TickFunc = {Table[{tp[[i]], tl[[i]]}, {i, 1, Length[tp]}], testNum}
> ;
>        ListPlot[load, PlotJoined -> True, ImageSize -> {450, 300},
>          AxesLabel -> {"Day Time", "Number of Tests"},
>          PlotLabel -> "TCID:"; <> tcid <> "  Date:" <> date,
>          Ticks -> TickFunc]];
> eTestLoad[data];
> eTestLoadCourse[data, tcid];
>
> -------- snip ---------------------------------------------
>
> Run the above code I can see a full closed graphics from the second
> function call but not the from the first one. How can I make the full
> graphics show from the first function?
>
> Another question is that how can I change the ticks to make major
> ticks bigger than the minors. Specifically I want to make the ticks
> in second function at half hour smaller than the ones at full hour.
> How can I do that?
>
> Thanks in advance for all your help,
>
> Jing
> --
> ******************************************************************
> Xing Jing Li                          email: xingjing at math.vt.edu
> Programmer                           Office: (540)231-2216
> Department of Mathematics               Fax: (540)231-5960
>


begin 666 MathSource The Library of Mathematica-Related Materials.url
M6T1%1D%53%1=#0I"05-%55),/6AT=' Z+R]W=W<N;6%T:'-O=7)C92YC;VTO
M#0H-"EM);G1E<FYE=%-H;W)T8W5T70T*55),/6AT=' Z+R]W=W<N;6%T:'-O
M=7)C92YC;VTO#0I-;V1I9FEE9#TX,$1%-C9"-S,S0T5#,# Q,T0-"@``[(1$
!````
`
end



  • Prev by Date: Re: A SubListQ function?
  • Next by Date: Re: Interior of a polygon
  • Previous by thread: RE: question of formatting with PaddedForm
  • Next by thread: Defining a function