Profile Picture

Help on coding 3d surface mesh chart

Posted By lian jia jie 7 Years Ago
Author
Message
Nevron Support
Posted 7 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 3,039, Visits: 3,746
Hi Lian,
Yes sure - the following code shows how to display a chart similar to the one you attached:

   NChart chart = nChartControl1.Charts[0];
   chart.Enable3D = true;
   chart.Projection.SetPredefinedProjection(PredefinedProjection.PerspectiveTilted);
   chart.Width = chart.Height = chart.Depth = 50;

   NOrdinalScaleConfigurator xScale = chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator as NOrdinalScaleConfigurator;
   xScale.AutoLabels = false;
   xScale.Labels.Add("A");
   xScale.Labels.Add("B");
   xScale.Labels.Add("C");

   NOrdinalScaleConfigurator yScale = chart.Axis(StandardAxis.Depth).ScaleConfigurator as NOrdinalScaleConfigurator;
   yScale.AutoLabels = false;
   yScale.Labels.Add("X");
   yScale.Labels.Add("Y");
   yScale.Labels.Add("Z");

   NBarSeries bar1 = new NBarSeries();
   bar1.Values.Add(10);
   bar1.Values.Add(20);
   bar1.Values.Add(30);
   chart.Series.Add(bar1);

   NBarSeries bar2 = new NBarSeries();
   bar2.Values.Add(12);
   bar2.Values.Add(22);
   bar2.Values.Add(32);
   chart.Series.Add(bar2);

   NBarSeries bar3 = new NBarSeries();
   bar3.Values.Add(15);
   bar3.Values.Add(25);
   bar3.Values.Add(35);
   chart.Series.Add(bar3);

   NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.Bright).Apply(nChartControl1.Document);

Hope this helps - let us know if you have any questions.


Best Regards,
Nevron Support Team



lian jia jie
Posted 7 Years Ago
View Quick Profile
Forum Newbie

Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)

Group: Forum Members
Last Active: 6 Years Ago
Posts: 8, Visits: 89
What if i like to label the z value of a surface chart like the one i did in the previous replies? Does the chart control provide the same label functionality for surface chart? Thank you.

Nevron Support
Posted 7 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 3,039, Visits: 3,746
Hi,
Yes it applies to surface charts - in fact the code applies to any type of chart which uses an ordinal axis. By default the x and depth axes are configured as ordinal so the code is the same.

Best Regards,
Nevron Support Team



lian jia jie
Posted 7 Years Ago
View Quick Profile
Forum Newbie

Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)

Group: Forum Members
Last Active: 6 Years Ago
Posts: 8, Visits: 89
I would like the Z-values to show up above each data point in the surface chart like how the value shows up in the bar chart in my previous reply.

bob milanov
Posted 7 Years Ago
View Quick Profile
Supreme Being

Supreme Being (152 reputation)Supreme Being (152 reputation)Supreme Being (152 reputation)Supreme Being (152 reputation)Supreme Being (152 reputation)Supreme Being (152 reputation)Supreme Being (152 reputation)Supreme Being (152 reputation)Supreme Being (152 reputation)

Group: Forum Members
Last Active: Last Month
Posts: 153, Visits: 8
Hi,
The grid surface series does not support data labels directly for performance reasons. However you can mix the grid surface series with several invisible bar series that are used to show those labels - for example the following code shows how to create several invisible bar series that show up only value labels:

NChart chart = nChartControl1.Charts[0];
chart.Enable3D = true;
chart.Projection.SetPredefinedProjection(PredefinedProjection.PerspectiveTilted);
chart.Width = chart.Height = chart.Depth = 50;

NOrdinalScaleConfigurator xScale = chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator as NOrdinalScaleConfigurator;
xScale.AutoLabels = false;
xScale.Labels.Add("A");
xScale.Labels.Add("B");
xScale.Labels.Add("C");

NOrdinalScaleConfigurator yScale = chart.Axis(StandardAxis.Depth).ScaleConfigurator as NOrdinalScaleConfigurator;
yScale.AutoLabels = false;
yScale.Labels.Add("X");
yScale.Labels.Add("Y");
yScale.Labels.Add("Z");

NBarSeries bar1 = new NBarSeries();
bar1.Values.Add(10);
bar1.Values.Add(20);
bar1.Values.Add(30);
bar1.FillStyle = new NColorFillStyle(Color.Transparent);
bar1.BorderStyle.Width = new NLength(0);
chart.Series.Add(bar1);

NBarSeries bar2 = new NBarSeries();
bar2.Values.Add(12);
bar2.Values.Add(22);
bar2.Values.Add(32);
bar2.FillStyle = new NColorFillStyle(Color.Transparent);
bar2.BorderStyle.Width = new NLength(0);
chart.Series.Add(bar2);

NBarSeries bar3 = new NBarSeries();
bar3.Values.Add(15);
bar3.Values.Add(25);
bar3.Values.Add(35);
bar3.FillStyle = new NColorFillStyle(Color.Transparent);
bar3.BorderStyle.Width = new NLength(0);
chart.Series.Add(bar3);

Hope this helps - let us know if you meet any problems or have any questions.

lian jia jie
Posted 6 Years Ago
View Quick Profile
Forum Newbie

Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)Forum Newbie (0 reputation)

Group: Forum Members
Last Active: 6 Years Ago
Posts: 8, Visits: 89
https://www.nevron.com/forum/uploads/images/ddf36aa9-ad9a-40a3-bc10-2c0.jpeg
By any chance, is there any way to remove the white spaces around the chart ?

Nevron Support
Posted 6 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)Supreme Being (4,329 reputation)

Group: Forum Members
Last Active: Last Year
Posts: 3,039, Visits: 3,746
Hi,
Yes - you can use:
xScale.InflateContentRange = false;


Best Regards,
Nevron Support Team





Similar Topics


Reading This Topic