电子表格文档 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); |