MathGroup Archive 1998

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

Search the Archive

Re: ListContourPlot sometimes leaves out requested contours

  • To: mathgroup at smc.vnet.net
  • Subject: [mg14054] Re: [mg14016] ListContourPlot sometimes leaves out requested contours
  • From: "Jens-Peer Kuska" <kuska at linmpi.mpg.de>
  • Date: Fri, 18 Sep 1998 03:50:36 -0400
  • Sender: owner-wri-mathgroup at wolfram.com

Hallo Adalbert,

read the manual !!! 
Did You ever hear about the PlotRange-option?

Your "bug" dissapears when You use the command

cplt=ListContourPlot[list3,Contours->{7.0,7.50,7.75},PlotRange->All]; 

Without  this option Mathematica choose a z-Range that ends at z=7.5 and
so the contour line not drawn because it is outside the z-range. It may
be inconsistent to use the PlotRange->Automatic when explicit z-values
are given but it is not a bug -- it is a feature.

Regards
  Jens

-----Original Message-----
From: Adalbert Hanszen <hsse at amath01.amath.zeiss.de> To:
mathgroup at smc.vnet.net
Subject: [mg14054] [mg14016] ListContourPlot sometimes leaves out requested
contours


>Hello, Mathematica users!
>
>The following problem arises with Mathematica 2.2 for X-Windows, with
>Mathematica 2.2.3 for MS-Windows 3.x and for Mathematica 3.0.1 on
>Windows-NT. Perhaps, it is present in all versions on all platforms.
>
>ListContourPlot has an option Contours to select which contours shall be
>drawn. Using 
>
>   Contours->{z1,z2,...}
>
>I experienced cases, where one or more contour lines were not drawn,
>although they should show up. (In the examples which I have
>investigated, they were missing around a  local maximum totally within
>the rectangle to be displayed and totally surrounded by a lower contour
>line.) The funny thing is, that by leaving out one row of data points, 
>sometimes the missing contour line is drawn! - See the  example below.
>
>A similar question (in essence) was rised on June 26, 1997  in this
>group, but there was only a single "Re" telling,  that one has observed
>similar things without being able to always reproduce it. The problem
>itself was not solved, I think it  was not really brought to the point.
>
>1.) Can anybody enlighten us with the internals of ListContourPlot?
>
>2.) Does anybody know, how ListContourPlot searches starting points for
>the contours to be displayed?
>
>3.) Does the used searching algorithm guarantee, if there are
>neighbouring data points on the grid zLow, zHigh such that
>zLow<zContour<=zHigh or zLow<=zContour<zHigh where zContour is one of
>the requested contour line from Contours->..., that a contour line for
>zContour is found and displayed between  the neighbouring points?
>
>The basic problem seems to be, to find *all* places f(z)=zContour for a
>sufficiently continuous function f interpolating the data points. This
>problem is non-trivial for the one dimensional case (but not, if f is
>piecewise linear or quadratic). As the contour lines belong to some
>interpolating function (maybe defined through the smoothed contour
>lines), at least all contour lines for the conditions mentioned above
>should be found!
>
>4.) If the search starts with an initial set of starting points less
>than the given data points: how can I increase the size  of this set?
>There is no option PlotPoints in ListContourPlot (it would not be
>necessary. I also find no option to influence the kind of interpolation
>used for display other than smoothing).
>
>5.) Would it be possible to Unprotect[...] and redefine the relavant
>subfunction of ListContourPlot to exchange the current search algorithm
>used in ListContourPlot by a better one?
>
>6.) has anybody out there a better ListContourPlot than the  built-in
>one?
>
>The problem probably also explains, why LabelContourLines in  TWJ-Packs
>sometimes puts the wrong numbers at some lines. I have not yet gone
>into this in full depth.
>
>Here is a practical example which arose in my work:
>
>list1=Get["list1",StandardForm];
>
>list2=Table[list1[[i]],{i,1,14}];
>(* watch at line 6: all requested contour lines are shown....*)
>ListContourPlot[list2,Contours->{7.0,7.50,7.75}]; ListPlot[list2[[6]]];
>
>(* But now: just add one line of data points far away at the top... *) 
>list3=Table[list1[[i]],{i,1,15}];
>(* the 7.75-contour line is not shown, although
>   it should be there between the 12/13 and
>   between the 16/17-th data point!... *)
>ListContourPlot[list3,Contours->{7.0,7.50,7.75}]; ListPlot[list3[[6]]];
>
>
>The example data list1 are given at the very end.
>
>Thanks for your help
>
>Dipl-Math. Adalbert Hanszen <hsse at amath01.amath.zeiss.de>
>



  • Prev by Date: Re: EPS format problems
  • Next by Date: Re: ListContourPlot sometimes leaves out requested contours
  • Previous by thread: ListContourPlot sometimes leaves out requested contours
  • Next by thread: Re: ListContourPlot sometimes leaves out requested contours