Display and Extract Trendline Equation from Scatter Series
Is it possible to display a linear trendline equation and extract the constants (a and b in the equation y = mx + b) to use?
I currently have the following code:
<syncfusion:SfChart x:Name="myChart" Header="Chart Header" HorizontalAlignment="Left" Margin="10" VerticalAlignment="Center">
<syncfusion:SfChart.PrimaryAxis>
<syncfusion:NumericalAxis FontSize="10" Header="x axis" LabelRotationAngle="0" ShowGridLines="True"/>
</syncfusion:SfChart.PrimaryAxis>
<syncfusion:SfChart.SecondaryAxis>
<syncfusion:NumericalAxis FontSize="10" Header="y axis" LabelRotationAngle="-45" />
</syncfusion:SfChart.SecondaryAxis>
<syncfusion:ScatterSeries x:Name="series1" ScatterWidth="10" ScatterHeight="10" ShowTooltip="True" syncfusion:ChartTooltip.EnableAnimation="True" ItemsSource="{Binding}">
<syncfusion:ScatterSeries.Trendlines>
<syncfusion:Trendline IsTrendlineVisible="True" Type="Linear" />
</syncfusion:ScatterSeries.Trendlines>
</syncfusion:ScatterSeries>
</syncfusion:SfChart>
Thanks.
Hi Coder,
Thanks for contacting Syncfusion support
Query1: (display
trendline equation)
Currently we don’t have support for display trendline
equation in chart area. However, we have considered “Implement trendline
equation like excel chart” as a new feature request and will be implementing in
any of our upcoming release.
Also, in the mean while we are working for any workaround
possibilities to achieve this.
Query2: (get
slope, intercept values of trendline)
We could extract the slope, intercept value of trendline as
shown in the below code snippet
Code Snippet [C#]:
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
var slope = (series1.Trendlines[0] as Trendline).Slope;
var intercept = (series1.Trendlines[0] as Trendline).Intercept;
}
Please let us know in case of any query
Regards,
Suresh S
Thanks for the reply. I got clarification on this requirement, and it seems I need to use just y = mx. Is there a way in the control to force the trend line to start at (0,0)? Similar to how in Excel, you can choose to set the intercept to 0.
If not, I can get the equation of the trend line manually and plot the line. What's the best way to go about plotting a line? I'm thinking of taking a few data points and putting them in a LineSeries.
Hi Coder,
Query 1: Is there
a way in the control to force the trend line to start at (0,0)?
Currently we don’t have support for editing intercept of
trendline. However, we have considered the “Support for editing intercept of
trendline” as a new feature and will be implementing in any of our upcoming
release.
Query 2: What's
the best way to go about plotting a line?
Yes, you can achieve the custom intercept requirement by
plotting a line series using the trendline equation.
1. Generate
the data points using the TrendLine Equation, by substituting the x values of
Scatter Series (existing series).
2. And add
(0,0) or any other point to the starting of your point collection and bind this
collection to your line series.
Displaying trendline
equation:
As a workaround, we have used text annotations to display
trendline equation. We have prepared a sample based on this, please download
from below location.
Please let us know in case of any query.
Regards,
Suresh S
Attachment: trendline_7854294b.zip
- 3 Replies
- 2 Participants
-
CO Coder
- May 24, 2015 05:43 PM UTC
- May 26, 2015 01:33 PM UTC