Excel图表能够将数据可视化,在图表中另行添加趋势线和误差线,可对数据进行进一步的数据分析和统计的可视化处理。Excel中的趋势线可用于趋势预测/回归分析,共6中类型:指数(X),线性(L),对数(0),多项式(P),幂(W),移动平均(M)。误差线可用于显示潜在的误差或相对于系列中每个数据标志的不确定程度。Excel中可设置误差线的显示方向:正负偏差,负偏差,正偏差;以及设置误差类型及误差量:固定值,百分比,标准偏差,标准误差,自定义类型。
本篇文章主要介绍,使用免费版的Free Spire.XLS在C#中独立创建Excel文档,生成折线图、柱状图,并添加趋势线和误差线。
需添加的命名空间
步骤详解:
步骤一:独立创建Excel文件和表单。
Workbook workbook = new Workbook();
workbook.CreateEmptySheets(1);
Worksheet sheet = workbook.Worksheets[0];
workbook.CreateEmptySheets(1);
Worksheet sheet = workbook.Worksheets[0];
步骤二:为Excel单元格添加示例数据。
sheet.Name = "误差线和趋势线演示";
sheet.Range[A1"].Value = 月份A2一月A3二月A4三月A5四月A6五月A7六月B1计划量B2"].NumberValue = 3.3;
sheet.Range[B32.5;
sheet.Range[B42.0;
sheet.Range[B53.7;
sheet.Range[B64.5;
sheet.Range[B74.0;
sheet.Range[C1实际量C23.8;
sheet.Range[C33.2;
sheet.Range[C41.7;
sheet.Range[C53.5;
sheet.Range[C6C74.3;
sheet.Range[A1"].Value = 月份A2一月A3二月A4三月A5四月A6五月A7六月B1计划量B2"].NumberValue = 3.3;
sheet.Range[B32.5;
sheet.Range[B42.0;
sheet.Range[B53.7;
sheet.Range[B64.5;
sheet.Range[B74.0;
sheet.Range[C1实际量C23.8;
sheet.Range[C33.2;
sheet.Range[C41.7;
sheet.Range[C53.5;
sheet.Range[C6C74.3;
//生成折线图,设置位置
Chart chart = sheet.Charts.Add(ExcelChartType.Line);
chart.Datarange = sheet.Range[B1:B7"];
chart.SeriesDataFromrange = false;
chart.TopRow = 6;
chart.Bottomrow = 25;
chart.LeftColumn = 2;
chart.RightColumn = 9;
chart.ChartTitle = 百分比正偏差误差线和对数趋势线示例";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;
Spire.Xls.Charts.ChartSerie cs1 = chart.Series[0];
cs1.CategoryLabels = sheet.Range[A2:A7"];
添加对数趋势线
cs1.TrendLines.Add(TrendLineType.Logarithmic);
添加10%正偏差误差线
cs1.ErrorBar(true, ErrorBarIncludeType.Plus, ErrorBarType.Percentage,10);
Chart chart = sheet.Charts.Add(ExcelChartType.Line);
chart.Datarange = sheet.Range[B1:B7"];
chart.SeriesDataFromrange = false;
chart.TopRow = 6;
chart.Bottomrow = 25;
chart.LeftColumn = 2;
chart.RightColumn = 9;
chart.ChartTitle = 百分比正偏差误差线和对数趋势线示例";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;
Spire.Xls.Charts.ChartSerie cs1 = chart.Series[0];
cs1.CategoryLabels = sheet.Range[A2:A7"];
添加对数趋势线
cs1.TrendLines.Add(TrendLineType.Logarithmic);
添加10%正偏差误差线
cs1.ErrorBar(true, ErrorBarIncludeType.Plus, ErrorBarType.Percentage,10);
//生成柱状图作为对照组
Chart chart2 = sheet.Charts.Add(ExcelChartType.ColumnClustered);
chart2.Datarange = sheet.Range[B1:C7"];
chart2.SeriesDataFromrange = false;
chart2.TopRow = 6;
chart2.Bottomrow = 25;
chart2.LeftColumn = 10;
chart2.RightColumn = 17;
chart2.ChartTitle = 正负标准误差误差线和指数趋势线示例";
chart2.ChartTitleArea.IsBold = true;
chart2.ChartTitleArea.Size = 12;
Spire.Xls.Charts.ChartSerie cs2 = chart2.Series[0];
cs2.CategoryLabels = sheet.Range[添加标准误差负误差0.3的误差线
cs2.ErrorBar(0.3);
添加指数趋势线
cs2.TrendLines.Add(TrendLineType.Exponential);
Spire.Xls.Charts.ChartSerie cs3 = chart2.Series[1];
添加标准误差正负误差0.5的误差线
cs3.ErrorBar(0.5);
Chart chart2 = sheet.Charts.Add(ExcelChartType.ColumnClustered);
chart2.Datarange = sheet.Range[B1:C7"];
chart2.SeriesDataFromrange = false;
chart2.TopRow = 6;
chart2.Bottomrow = 25;
chart2.LeftColumn = 10;
chart2.RightColumn = 17;
chart2.ChartTitle = 正负标准误差误差线和指数趋势线示例";
chart2.ChartTitleArea.IsBold = true;
chart2.ChartTitleArea.Size = 12;
Spire.Xls.Charts.ChartSerie cs2 = chart2.Series[0];
cs2.CategoryLabels = sheet.Range[添加标准误差负误差0.3的误差线
cs2.ErrorBar(0.3);
添加指数趋势线
cs2.TrendLines.Add(TrendLineType.Exponential);
Spire.Xls.Charts.ChartSerie cs3 = chart2.Series[1];
添加标准误差正负误差0.5的误差线
cs3.ErrorBar(0.5);
步骤五:保存Excel文档,启动查看效果。
效果图:
纯图表:
完整代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Workbook workbook = 0];
sheet.Name = 4.3;
Chart chart = sheet.Charts.Add(ExcelChartType.Line);
chart.Datarange = sheet.Range["];
cs1.TrendLines.Add(TrendLineType.Logarithmic);
cs1.ErrorBar(10);
Chart chart2 = sheet.Charts.Add(ExcelChartType.ColumnClustered);
chart2.Datarange = sheet.Range["];
cs2.ErrorBar(0.3);
cs2.TrendLines.Add(TrendLineType.Exponential);
Spire.Xls.Charts.ChartSerie cs3 = chart2.Series[1];
cs3.ErrorBar(0.5);
workbook.SavetoFile(");
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Workbook workbook = 0];
sheet.Name = 4.3;
Chart chart = sheet.Charts.Add(ExcelChartType.Line);
chart.Datarange = sheet.Range["];
cs1.TrendLines.Add(TrendLineType.Logarithmic);
cs1.ErrorBar(10);
Chart chart2 = sheet.Charts.Add(ExcelChartType.ColumnClustered);
chart2.Datarange = sheet.Range["];
cs2.ErrorBar(0.3);
cs2.TrendLines.Add(TrendLineType.Exponential);
Spire.Xls.Charts.ChartSerie cs3 = chart2.Series[1];
cs3.ErrorBar(0.5);
workbook.SavetoFile(");
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。