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