Previous topicNext topic
Help > 开发指南 > Excel > API > 示例 > Chart图表 >
如何:添加趋势线

电子表格文档 API 允许您向图表系列添加趋势线。趋势线可用于以下图表类型:

Trendline 类定义趋势线。使用 Series.Trendlines 属性可检索特定图表系列的趋势线集合。

添加趋势线

调用 TrendlineCollection.Add 方法以添加趋势线。使用对象的属性指定趋势线属性。Trendline

下面的代码使用 TrendlineCollection.Add 方法显示 ChartTrendlineType.Polynomial 类型的趋势线并对其进行自定义。

Vb.Net
Dim worksheet As DevExpress.Spreadsheet.Worksheet = workbook.Worksheets("chartStock")
workbook.Worksheets.ActiveWorksheet = worksheet

'创建图表并指定其位置。
Dim chart As DevExpress.Spreadsheet.Charts.Chart = worksheet.Charts.Add(DevExpress.Spreadsheet.Charts.ChartType.ScatterMarkers)
chart.SelectData(worksheet("C2:F3"), DevExpress.Spreadsheet.Charts.ChartDataDirection.Row)
chart.TopLeftCell = worksheet.Cells("H2")
chart.BottomRightCell = worksheet.Cells("N14")

'设置图表值轴的最小值和最大值。
Dim axis As DevExpress.Spreadsheet.Charts.Axis = chart.PrimaryAxes(1)
axis.Scaling.AutoMax = False
axis.Scaling.AutoMin = False
axis.Scaling.Min = 0.6
axis.Scaling.Max = 1.0
chart.PrimaryAxes(1).MajorGridlines.Visible = False

'显示多项式趋势线。
chart.Series(0).Trendlines.Add(DevExpress.Spreadsheet.Charts.ChartTrendlineType.Polynomial)

'定制趋势线。
Dim tline As DevExpress.Spreadsheet.Charts.Trendline = chart.Series(0).Trendlines(0)
tline.DisplayEquation = True
tline.CustomName = "Trend"
tline.DisplayRSquare = True
tline.Backward = 1
tline.Forward = 2
tline.Outline.SetSolidFill(Color.Red)

C#
DevExpress.Spreadsheet.Worksheet worksheet = workbook.Worksheets["chartStock"];
workbook.Worksheets.ActiveWorksheet = worksheet;

// 创建图表并指定其位置。
DevExpress.Spreadsheet.Charts.Chart chart = worksheet.Charts.Add(DevExpress.Spreadsheet.Charts.ChartType.ScatterMarkers);
chart.SelectData(worksheet["C2:F3"], DevExpress.Spreadsheet.Charts.ChartDataDirection.Row);
chart.TopLeftCell = worksheet.Cells["H2"];
chart.BottomRightCell = worksheet.Cells["N14"];

// 设置图表值轴的最小值和最大值。
DevExpress.Spreadsheet.Charts.Axis axis = chart.PrimaryAxes[1];
axis.Scaling.AutoMax = false;
axis.Scaling.AutoMin = false;
axis.Scaling.Min = 0.6;
axis.Scaling.Max = 1.0;
chart.PrimaryAxes[1].MajorGridlines.Visible = false;

// 显示多项式趋势线。
chart.Series[0].Trendlines.Add(DevExpress.Spreadsheet.Charts.ChartTrendlineType.Polynomial);

// 定制趋势线。
DevExpress.Spreadsheet.Charts.Trendline tline = chart.Series[0].Trendlines[0];
tline.DisplayEquation = true;
tline.CustomName = "Trend";
tline.DisplayRSquare = true;
tline.Backward = 1;
tline.Forward = 2;
tline.Outline.SetSolidFill(Color.Red);

指定趋势线标签

若要显示趋势线标签,请将 Trendline.DisplayEquation 或 Trendline.DisplayRSquare 属性设置为 。true

Trendline.Label 属性获取趋势线标签属性。

下面的代码片段格式化和定位趋势线的标签。

Vb.Net
Dim worksheet As DevExpress.Spreadsheet.Worksheet = workbook.Worksheets("chartStock")
workbook.Worksheets.ActiveWorksheet = worksheet

'创建图表并指定其位置。
Dim chart As DevExpress.Spreadsheet.Charts.Chart = worksheet.Charts.Add(DevExpress.Spreadsheet.Charts.ChartType.ScatterMarkers)
chart.SelectData(worksheet("C2:F3"), DevExpress.Spreadsheet.Charts.ChartDataDirection.Row)
chart.TopLeftCell = worksheet.Cells("H2")
chart.BottomRightCell = worksheet.Cells("N14")

'显示多项式趋势线。
chart.Series(0).Trendlines.Add(DevExpress.Spreadsheet.Charts.ChartTrendlineType.Polynomial)

'定制趋势线。
Dim tline As DevExpress.Spreadsheet.Charts.Trendline = chart.Series(0).Trendlines(0)
tline.DisplayEquation = True
tline.CustomName = "Trend"
tline.DisplayRSquare = True
tline.Outline.SetSolidFill(Color.Red)

'设置趋势标签的格式。
Dim tlabel As DevExpress.Spreadsheet.Charts.TrendlineLabel = tline.Label
tlabel.Font.Name = "Tahoma"
tlabel.Font.Italic = True
tlabel.Fill.SetGradientFill(DevExpress.Spreadsheet.Drawings.ShapeGradientType.Linear, Color.Orange, Color.White)
'将标签放在图表区域的右四分之一处。
tlabel.Layout.Left.SetPosition(DevExpress.Spreadsheet.Charts.LayoutMode.Edge, 0.75)

C#
DevExpress.Spreadsheet.Worksheet worksheet = workbook.Worksheets["chartStock"];
workbook.Worksheets.ActiveWorksheet = worksheet;

// 创建图表并指定其位置。
DevExpress.Spreadsheet.Charts.Chart chart = worksheet.Charts.Add(DevExpress.Spreadsheet.Charts.ChartType.ScatterMarkers);
chart.SelectData(worksheet["C2:F3"], DevExpress.Spreadsheet.Charts.ChartDataDirection.Row);
chart.TopLeftCell = worksheet.Cells["H2"];
chart.BottomRightCell = worksheet.Cells["N14"];

// 显示多项式趋势线。
chart.Series[0].Trendlines.Add(DevExpress.Spreadsheet.Charts.ChartTrendlineType.Polynomial);

// 定制趋势线。
DevExpress.Spreadsheet.Charts.Trendline tline = chart.Series[0].Trendlines[0];
tline.DisplayEquation = true;
tline.CustomName = "Trend";
tline.DisplayRSquare = true;
tline.Outline.SetSolidFill(Color.Red);

// 设置趋势标签的格式。
DevExpress.Spreadsheet.Charts.TrendlineLabel tlabel = tline.Label;
tlabel.Font.Name = "Tahoma";
tlabel.Font.Italic = true;
tlabel.Fill.SetGradientFill(DevExpress.Spreadsheet.Drawings.ShapeGradientType.Linear, Color.Orange, Color.White);
// 将标签放在图表区域的右四分之一处。
tlabel.Layout.Left.SetPosition(DevExpress.Spreadsheet.Charts.LayoutMode.Edge, 0.75);