Page 1 of 1

contour series with query

Posted: Tue Nov 11, 2014 1:06 pm
by 16563504
3D-Plot.jpg
3D-Plot.jpg (110.56 KiB) Viewed 3437 times
Hi all,

I'm having a hard time displaying a 3d-Graph with several contour plots. I added a sample with random data.
This shows the plot as it should pretty much look like in the end, but what I really need is queries for each
layer (along z-axis).

Now my questions:

a) I can connect the series to a query at design time and at run time, but nothing shows
b) how can I define the size of a contour area in the plot? (I place it on the z-axis with
setting "YPosition", the other dimensions I set with the NumXValues and NumYValues
property, which makes the series expect 60000 values, but I have only only ~100)
c) I'm very confused with the 3D Grid's range and palette properties. What are they meant for?
I would like a "red light-like" color transition for small concentrations to large concentrations.

Thanks for any suggestions

Norbert

Re: contour series with query

Posted: Wed Nov 12, 2014 12:18 pm
by yeray
Hi Norbert,
llnck wrote:a) I can connect the series to a query at design time and at run time, but nothing shows
You may be missing to open the database or the query.
If you still find problems with it, please try to arrange a simple example project we can run as-is to reproduce the problem here.
llnck wrote:b) how can I define the size of a contour area in the plot? (I place it on the z-axis with
setting "YPosition", the other dimensions I set with the NumXValues and NumYValues
property, which makes the series expect 60000 values, but I have only only ~100)
Usually, the increments of the XValues and YValues are always 1 so they are typically populated as follows:

Code: Select all

  for i:=0 to 2 do
    with Chart1.AddSeries(TContourSeries) as TContourSeries do
    begin
      Brush.Style:=bsSolid;
      NumXValues:=10;
      NumZValues:=5;

      for x:=0 to NumXValues-1 do
        for z:=0 to NumZValues-1 do
          AddXYZ(x, random*10, z);

      case i of
        0: YPosition:=30;
        1: YPosition:=70;
        2: YPosition:=130;
      end;
    end;

  Chart1.Axes.Left.SetMinMax(0,170);
  Chart1.Axes.Depth.Visible:=true;
However, if you want, you can set IrregularGrid=true and use a different increment. Ie:

Code: Select all

  for i:=0 to 2 do
    with Chart1.AddSeries(TContourSeries) as TContourSeries do
    begin
      Brush.Style:=bsSolid;

      IrregularGrid:=true;

      XCount:=12;
      ZCount:=8;
      XMax:=600;
      ZMax:=100;
      for x:=0 to XCount-1 do
        for z:=0 to ZCount-1 do
          AddXYZ(x*XMax/(XCount-1), random*10, z*ZMax/(ZCount-1));

      case i of
        0: YPosition:=30;
        1: YPosition:=70;
        2: YPosition:=130;
      end;
    end;

  Chart1.Axes.Left.SetMinMax(0,170);
  Chart1.Axes.Depth.Visible:=true;
llnck wrote:c) I'm very confused with the 3D Grid's range and palette properties. What are they meant for?
I would like a "red light-like" color transition for small concentrations to large concentrations.
I'd suggest you to check the example at "All features\Welcome !\Chart styles\Extended\Contour\Palette and Color range" in the features demo program shipped with the binary installation. It show how to use each alternative and what result do they give.