[英]Nevron surface chart data source
我一直在看上面提到的圖表,並試圖找出下面代碼段中的“ FillData”方法是如何工作的。
private void FillData(NGridSurfaceSeries surface)
{
double y, x, z;
int nCountX = surface.Data.GridSizeX;
int nCountZ = surface.Data.GridSizeZ;
const double dIntervalX = 30.0;
const double dIntervalZ = 30.0;
double dIncrementX = (dIntervalX / nCountX);
double dIncrementZ = (dIntervalZ / nCountZ);
z = -(dIntervalZ / 2);
for(int j = 0; j < nCountZ; j++, z += dIncrementZ)
{
x = -(dIntervalX / 2);
for(int i = 0; i < nCountX; i++, x += dIncrementX)
{
y = (x * z / 64.0) - Math.Sin(z / 2.4) * Math.Cos(x / 2.4);
y = 10 * Math.Sqrt( Math.Abs(y) );
if(y <= 0)
{
y = 1 + Math.Cos(x / 2.4);
}
surface.Data.SetValue(i, j, y);
}
}
}
該文檔非常稀疏,我想傳遞值列表代替“ Y”,但是我不知道其余代碼在做什么,如果有人在使用此代碼,請射擊。
實際上,您僅需要surface.Data.SetValue方法,其余代碼僅生成一些數據。 網格表面數據存儲就像一個二維表– i和j是指定數據點的索引,而y是數據點的值。 例如,以下代碼在3x2的網格表面填充了一些數據:
// first row
surface.Data.SetValue(0, 0, 7.53);
surface.Data.SetValue(1, 0, 6.19);
surface.Data.SetValue(2, 0, 9.78);
// second row
surface.Data.SetValue(0, 1, 5.35);
surface.Data.SetValue(1, 1, 4.71);
surface.Data.SetValue(2, 1, 8.85);
我希望這有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.