图表中的误差线可以帮助我们快速查看误差幅度和标准偏差。我们可以在二维面积图、条形图、柱形图、折线图和xy图中使用误差线,其中,只有xy图表(散点图和气泡图)可以显示x(水平)和y(垂直)误差线,如果图表的类型不是xy,则只能显示y(垂直)误差线。在powerpoint中,我们还可以设置误差线的显示方向,如正负偏差、负偏差、正偏差,以及设置误差类型和误差量,如固定值、百分比、标准偏差、标准误差和自定义类型。
本文将介绍如何使用spire.presentation给powerpoint文档中的非xy图表(柱形图)和xy图表(气泡图)添加误差线。
c#
using system.drawing;
using spire.presentation;
using spire.presentation.charts;
using spire.presentation.drawing;
namespace add_error_bars_to_chart_in_ppt
{
class program
{
static void main(string[] args)
{
//创建presentation实例
presentation ppt = new presentation();
//加载powerpoint文档
ppt.loadfromfile("input.pptx");
//获取第一张幻灯片中的柱形图并设置图表的标题
ichart columnchart = ppt.slides[0].shapes[0] as ichart;
columnchart.charttitle.textproperties.text = "垂直误差线";
//添加y(垂直) 误差线
//获取图表中第一个系列的垂直误差线
ierrorbarsformat errorbarsyformat1 = columnchart.series[0].errorbarsyformat;
//设置末端样式为线端
errorbarsyformat1.errorbarnoendcap = false;
//指定误差线的方向为正偏差
errorbarsyformat1.errorbarsimtype = errorbarsimpletype.plus;
//指定误差类型为标准误差
errorbarsyformat1.errorbarvtype = errorvaluetype.standarderror;
//设置误差量
errorbarsyformat1.errorbarval = 0.3f;
//设置线条格式
errorbarsyformat1.line.filltype = fillformattype.solid;
errorbarsyformat1.line.solidfillcolor.color = color.mediumvioletred;
errorbarsyformat1.line.width = 1;
//获取第二张幻灯片中的气泡图并设置图表的标题
ichart bubblechart = ppt.slides[1].shapes[0] as ichart;
bubblechart.charttitle.textproperties.text = "水平和垂直误差线";
//添加x(水平)和y(垂直)误差线
//获取图表中第一个系列的水平误差线
ierrorbarsformat errorbarsxformat = bubblechart.series[0].errorbarsxformat;
//设置末端样式为线端
errorbarsxformat.errorbarnoendcap = false;
//指定误差线的方向为正负偏差
errorbarsxformat.errorbarsimtype = errorbarsimpletype.both;
//指定误差类型为标准误差
errorbarsxformat.errorbarvtype = errorvaluetype.standarderror;
//设置误差量
errorbarsxformat.errorbarval = 0.3f;
//获取图表中第一个系列的垂直误差线
ierrorbarsformat errorbarsyformat2 = bubblechart.series[0].errorbarsyformat;
//设置末端样式为线端
errorbarsyformat2.errorbarnoendcap = false;
//指定误差线的方向为正负偏差
errorbarsyformat2.errorbarsimtype = errorbarsimpletype.both;
//指定误差类型为标准误差
errorbarsyformat2.errorbarvtype = errorvaluetype.standarderror;
//设置误差量
errorbarsyformat2.errorbarval = 0.3f;
//保存文档
ppt.savetofile("errorbars.pptx", fileformat.pptx2013);
}
}
}
vb.net
imports system.drawing
imports spire.presentation
imports spire.presentation.charts
imports spire.presentation.drawing
namespace add_error_bars_to_chart_in_ppt
class program
private shared sub main(args as string())
'创建presentation实例
dim ppt as new presentation()
'加载powerpoint文档
ppt.loadfromfile("input.pptx")
'获取第一张幻灯片中的柱形图并设置图表的标题
dim columnchart as ichart = trycast(ppt.slides(0).shapes(0), ichart)
columnchart.charttitle.textproperties.text = "垂直误差线"
'添加y(垂直) 误差线
'获取图表中第一个系列的垂直误差线
dim errorbarsyformat1 as ierrorbarsformat = columnchart.series(0).errorbarsyformat
'设置末端样式为线端
errorbarsyformat1.errorbarnoendcap = false
'指定误差线的方向为正偏差
errorbarsyformat1.errorbarsimtype = errorbarsimpletype.plus
'指定误差类型为标准误差
errorbarsyformat1.errorbarvtype = errorvaluetype.standarderror
'设置误差量
errorbarsyformat1.errorbarval = 0.3f
'设置线条格式
errorbarsyformat1.line.filltype = fillformattype.solid
errorbarsyformat1.line.solidfillcolor.color = color.mediumvioletred
errorbarsyformat1.line.width = 1
'获取第二张幻灯片中的气泡图并设置图表的标题
dim bubblechart as ichart = trycast(ppt.slides(1).shapes(0), ichart)
bubblechart.charttitle.textproperties.text = "水平和垂直误差线"
'添加x(水平)和y(垂直)误差线
'获取图表中第一个系列的水平误差线
dim errorbarsxformat as ierrorbarsformat = bubblechart.series(0).errorbarsxformat
'设置末端样式为线端
errorbarsxformat.errorbarnoendcap = false
'指定误差线的方向为正负偏差
errorbarsxformat.errorbarsimtype = errorbarsimpletype.both
'指定误差类型为标准误差
errorbarsxformat.errorbarvtype = errorvaluetype.standarderror
'设置误差量
errorbarsxformat.errorbarval = 0.3f
'获取图表中第一个系列的垂直误差线
dim errorbarsyformat2 as ierrorbarsformat = bubblechart.series(0).errorbarsyformat
'设置末端样式为线端
errorbarsyformat2.errorbarnoendcap = false
'指定误差线的方向为正负偏差
errorbarsyformat2.errorbarsimtype = errorbarsimpletype.both
'指定误差类型为标准误差
errorbarsyformat2.errorbarvtype = errorvaluetype.standarderror
'设置误差量
errorbarsyformat2.errorbarval = 0.3f
'保存文档
ppt.savetofile("errorbars.pptx", fileformat.pptx2013)
end sub
end class
end namespace
效果图: