Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2004

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

Search the Archive

RE: multiple list plot and frameticks

  • To: mathgroup at smc.vnet.net
  • Subject: [mg45453] RE: [mg45427] multiple list plot and frameticks
  • From: David.Annetts at csiro.au
  • Date: Wed, 7 Jan 2004 17:31:20 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Hi Nathan,

> I'd like to use multiple list plot and frame ticks to generate a plot 
> of log-linear data (I'm aware that LogLinearListPlot would be easier 
> but that doesn't allow for plot-markers (box, triangle, star etc).
> 
> At present I'm doing the following, data set
> 
> flist = Table[{p, 4.Exp[-5. p]}, {p, 1, 15, 2}]
> 
> then I can make a simple plot with
> 
>   << Graphics`Graphics`
> LinearLogListPlot[flist]
> 
> But I want to plot this with other data in a B&W paper, so I need to 
> use Multiple List Plot,
> 
>   << Graphics`MultipleListPlot`
> 
> dx=Transpose[flist][[1]]
> dy=Transpose[flist][[2]]
> 
> MultipleListPlot[
> 	Transpose[{dx,Log[dy]}],
> 	SymbolShape -> {PlotSymbol[Box, 2]},
> 	Axes->False,
> 	Frame->True
> ];
> 
> The hang-up is that the axes are funny.  I could use FrameTicks and 
> LogScale/LinearScale to specify ticks, but if I do so, I see that in 
> both cases LogScale and Linear Scale generate a 2-d set of axis that 
> FrameTicks won't accept
> 
> LinearScale[ dx[[1]], dx[[-1]] ]
> LogScale[ dy[[1]], dy[[-1]] ]
> 
> So, do I have to generate my frame ticks by hand, or is there 
> a clever way to generate axes of different scale.

You can generate the ticks by hand.  Try

	mytik = Range[-80, -3];
	mytik = {#, ToString[FortranForm[Exp[#]]], {.003, 0}} & /@ mytik;

then
	MultipleListPlot[Transpose[{dx, Log[dy]}], SymbolShape ->
{PlotSymbol[Box, 		2]}, Axes -> False, Frame -> True,
	    FrameTicks -> {Automatic, mytik, None, None}
	];

Not sure that this is what you intended though.  You may want to try
different scalling to reduce the range.  Alternatively, you can plot every
n-th label in your tick function, but this is what your original is doing
anyway.

Regards,

Dave.


  • Prev by Date: Re: Transpose matrix does not work when MatrixForm is used, why?
  • Next by Date: RE: multiple list plot and frameticks
  • Previous by thread: multiple list plot and frameticks
  • Next by thread: RE: multiple list plot and frameticks