Is there any way to build a tContourSeries with a non-orthoganal regular grid? So for instance, I have a 3x3 set of Operating Points with 4 parameters such as:
A B C D
1 5 1 1
2 10 2 1
3 20 3 1
1 6 1 2
2 12 2 2
3 25 3 2
1 8 1 3
2 15 2 3
3 28 3 3
And I want to plot XYZ using parameters A, B & C.
I am trying to avoid pre-processing the data into a regular grid of A and C.
Non-orthoganal data in a tContourSeries
-
- Newbie
- Posts: 11
- Joined: Wed Dec 01, 2021 12:00 am
Re: Non-orthoganal data in a tContourSeries
Hello,
A and C look the same. Are you sure this is correct?
A contour with A, B and D looks like this:
Deppending on the data, you may need to add this (but with the data above it isn't necessary):
A and C look the same. Are you sure this is correct?
A contour with A, B and D looks like this:
Code: Select all
procedure TForm1.FormCreate(Sender: TObject);
begin
Series1.AddXYZ(1, 5, 1);
Series1.AddXYZ(2, 10, 1);
Series1.AddXYZ(3, 20, 1);
Series1.AddXYZ(1, 6, 2);
Series1.AddXYZ(2, 12, 2);
Series1.AddXYZ(3, 25, 2);
Series1.AddXYZ(1, 8, 3);
Series1.AddXYZ(2, 15, 3);
Series1.AddXYZ(3, 28, 3);
end;
Code: Select all
Series1.IrregularGrid:=True;
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
-
- Newbie
- Posts: 11
- Joined: Wed Dec 01, 2021 12:00 am
Re: Non-orthoganal data in a tContourSeries
Sorry that was a bad example. This is more like what I want to do:
Series1.AddXYZ(1, 5, 1.0); // D=1
Series1.AddXYZ(2, 10, 2.0); // D=1
Series1.AddXYZ(3, 20, 3.0); // D=1
Series1.AddXYZ(1, 6, 1.1); // D=2
Series1.AddXYZ(2, 12, 2.1); // D=2
Series1.AddXYZ(3, 25, 3.1); // D=2
Series1.AddXYZ(1, 8, 1.2); // D=3
Series1.AddXYZ(2, 15,2.2); // D=3
Series1.AddXYZ(3, 28, 3.2); // D=3
Series1.AddXYZ(1, 5, 1.0); // D=1
Series1.AddXYZ(2, 10, 2.0); // D=1
Series1.AddXYZ(3, 20, 3.0); // D=1
Series1.AddXYZ(1, 6, 1.1); // D=2
Series1.AddXYZ(2, 12, 2.1); // D=2
Series1.AddXYZ(3, 25, 3.1); // D=2
Series1.AddXYZ(1, 8, 1.2); // D=3
Series1.AddXYZ(2, 15,2.2); // D=3
Series1.AddXYZ(3, 28, 3.2); // D=3
-
- Newbie
- Posts: 11
- Joined: Wed Dec 01, 2021 12:00 am
Re: Non-orthoganal data in a tContourSeries
Here is a bit more background: I am trying to create this chart:
The black lines in the contour chart are constant Throttle values and a regular grid of sfc=f(Throttle,RPM) is available. Also, BMEP ("Z" in the contour map) is known at each RPM and Throttle operating point. Data outside of the Throttle-RPM range cannot be reliably calculated. It is obviously possible (without too much effort) to filter out any points in a BMEP-RPM grid outside the valid throttle range, but the result is very ragged at the top edge (as you can see). Improving this is more difficult, hence my question about entering a Throttle-RPM grid into a BMEP-RPM chart.Re: Non-orthoganal data in a tContourSeries
Hello,
We've been playing with your data and got to the idea of filling the gaps with 0s (or -1s).
Then, we'd modify the first
We've been playing with your data and got to the idea of filling the gaps with 0s (or -1s).
Then, we'd modify the first
UpToValue
in Levels
so the gaps aren't drawn:
Code: Select all
Series1.Filled:=False;
Series1.IrregularGrid:=True;
Series1.AddXYZ(1, 5, 1.0);
Series1.AddXYZ(2, 0, 1.0);
Series1.AddXYZ(3, 0, 1.0);
Series1.AddXYZ(1, 0, 2.0);
Series1.AddXYZ(2, 10, 2.0);
Series1.AddXYZ(3, 0, 2.0);
Series1.AddXYZ(1, 0, 3.0);
Series1.AddXYZ(2, 0, 3.0);
Series1.AddXYZ(3, 20, 3.0);
Series1.AddXYZ(1, 6, 1.1);
Series1.AddXYZ(2, 0, 1.1);
Series1.AddXYZ(3, 0, 1.1);
Series1.AddXYZ(1, 0, 2.1);
Series1.AddXYZ(2, 12, 2.1);
Series1.AddXYZ(3, 0, 2.1);
Series1.AddXYZ(1, 0, 3.1);
Series1.AddXYZ(2, 0, 3.1);
Series1.AddXYZ(3, 25, 3.1);
Series1.AddXYZ(1, 8, 1.2);
Series1.AddXYZ(2, 0, 1.2);
Series1.AddXYZ(3, 0, 1.2);
Series1.AddXYZ(1, 0, 2.2);
Series1.AddXYZ(2, 15, 2.2);
Series1.AddXYZ(3, 0, 2.2);
Series1.AddXYZ(1, 0, 3.2);
Series1.AddXYZ(2, 0, 3.2);
Series1.AddXYZ(3, 28, 3.2);
Series1.CreateAutoLevels;
Series1.Levels[0].UpToValue:=1;
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
-
- Newbie
- Posts: 11
- Joined: Wed Dec 01, 2021 12:00 am
Re: Non-orthoganal data in a tContourSeries
Yes, that is pretty much what I did to create the sfc chart I posted previously. My problems are
1) it is computionally intensive to identify the null points (above 100% throttle)
2) the top edge of the contour map is rather ragged, even with reasonably close spacing on the grid. The 100% throttle contour line is never shown and I had to add it using a single XY series line.
3) there is a significant amout of "unecessary" pre-processing to create the X-Z grid required by the TeeChart contour series.
My ideal solution is to allow an fully irregular X-Z data entry and then trangulate the contour series (which is what I am used to in TecPlot). I now understand that this is not currently possible wth TeeChart, but it would be nice if this were to be inluded on a wish list for new features.
1) it is computionally intensive to identify the null points (above 100% throttle)
2) the top edge of the contour map is rather ragged, even with reasonably close spacing on the grid. The 100% throttle contour line is never shown and I had to add it using a single XY series line.
3) there is a significant amout of "unecessary" pre-processing to create the X-Z grid required by the TeeChart contour series.
My ideal solution is to allow an fully irregular X-Z data entry and then trangulate the contour series (which is what I am used to in TecPlot). I now understand that this is not currently possible wth TeeChart, but it would be nice if this were to be inluded on a wish list for new features.