报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。

FastReport.NET官方版下载icon-default.png?t=N7T8https://www.evget.com/product/1861/download

"Chart"对象包含许多可在图表编辑器中处理的设置。要调用编辑器,请双击 "Chart"对象:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第1张图片

处理系列

 "Chart "对象可以包含一个或多个系列。系列列表显示在编辑器中:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第2张图片

要添加新系列,请按 "Add... "按钮。您将看到 "Gallery "对话框:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第3张图片

择需要的类别,然后选择 - 需要的系列类型。如果想将序列放在自己的图表区域中,请选中 "Add new chart area for this series "复选框。对于某些系列类型(如饼图、圆图、金融图、金字塔图),无论复选框状态如何,都会自动添加新的图表区域。

要删除序列,请按 "Delete "按钮。要更改序列顺序,请使用 "Up"和 "Down "按钮。

设置外观

使用图表编辑器,您可以设置每个图表元素的外观。所有属性(超过 100 个)分为几类。其中一些是 "Chart "对象特有的,而另一些则系列的一部分。

如果从系列列表中选择 "Chart "对象,则会看到以下属性页面:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第4张图片

  • "Appearance" - 图表的边框和填充;
  • "Chart area" - 边框、填充、阴影;
  • "3D" - 3D 设置;
  • "Axes"- 设置轴的外观、标题、标签、网格、标记、自定义标签和条带;
  • "Legend" --图例样式、停靠、边框、填充、阴影和字体;
  • "Title"- 标题、停靠、边框、填充、阴影和字体的样式。

如果从系列列表中选择系列对象,则会看到以下属性页面:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第5张图片

  • "Appearance"--针对所选系列类型的一些特定设置;
  • "Fill & border"--系列值的填充和边框;
  • "Labels"--系列标签。您可以选择标签类型、字体、颜色和填充;
  • "Markers"--系列标记。可以选择标记类型、颜色和边框。
连接图表和数据

您可以通过多种方式在图表中填充数据:

  • 使用数据源。为 "Chart "对象指明数据源,并将每个系列连接到数据列。
  • 每个系列使用固定。
  • 使用脚本为对象填充数据。

要将图表连接到数据源,请按照以下步骤操作:

  • 在系列列表中选择 "Chart "对象;
  • 切换到 "Data"选项卡;
  • 选择数据源:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第6张图片

  • 设置数据筛选表达式。该过滤器将应用于所有图表系列;
  • 在系列列表中选择系列;
  • 切换到 "Data"选项卡;
  • 为每个系列值选择数据列。根据系列类型,它可能有两个或多个值。大多数系列类型都有两个值 - X 值和 Y 值:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第7张图片

需要时,设置数据筛选表达式。该过滤器将只应用于当前系列;
在 "Color "控件中,您可以指明返回颜色值的数据列。
您也可以为系列提供值列表。在这种情况下,不需要数据连接。请在系列列表中选择一个系列,然后切换到 "Values "选项卡。在表中填入数值:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第8张图片

数据排序

默认情况下,图表对象按自然顺序显示数据。您可以更改排序顺序;要更改排序顺序,请从系列列表中选择系列,然后切换到 "Dataprocessing "选项卡:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第9张图片

您可以选择其中一种排序模式--不排序、按 X 值排序和按 Y 值排序。

数据分组

当序列中的数据包含多个相同的 X 值时,我们会遇到一个问题。例如,用于演示图表的 MatrixDemo 表中有以下数据:

Name Year Monh ItemsSold Revenue
Andrew Fuller 2002 1 2 1800
Andrew Fuller 1999 10 2 1900
Andrew Fuller 1999 11 2 2000
Andrew Fuller 2000 2 2 2100
Janet Leverling 1999 10 3 3000
Janet Leverling 1999 11 3 3100
Janet Leverling 2000 3 3 3200
...

如果我们尝试根据这些数据制作图表(例如,员工的销售额--将 X 值设置为 Name 列,Y 值设置为 ItemsSold 列),我们将得到以下错误结果:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第10张图片

在这种情况下,我们需要将相同的雇员分组为一个值。为此,请在系列列表中选择系列,然后切换到 "Data processing"选项卡。选择分组类型--"X 值",并选择 "Sum "作为分组函数:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第11张图片

所有相同的员工将被归类为一个值,他们的销售额将被汇总。您将看到以下结果:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第12张图片

收集数据

该数据处理工具可将多个序列值合并为一个值。您可以选择以下算法之一:

Algorithm Description
TopN 所有其他值都会被收集并显示为 "others "值(您可以为该值选择标签)。
BottomN 如果未设置收集值的文本,则不显示该值。
Less than value 收集小于指定值的系列值,并显示为 "others"值。
Less than percent 收集小于指定百分比的系列值,并显示为 "others "值。
Greater than value 大于指定值的系列值被收集并显示为 "others "值。
Greater than percent 收集大于指定百分比的系列值,并显示为 "others "值。

若显示前 5 个值,可按以下方式设置系列:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第13张图片

您将得到以下结果:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第14张图片

Exploding the values

对于饼型序列,可以对某些值进行Explod处理。请在系列列表中选择系列,然后切换到 "Data processing "选项卡:

fastreport

您可以使用以下一种爆炸类型:最大值、最小值和特定值。如果选择后一种模式,则必须指定要爆炸的值。它可以是任何表达式(详见 "表达式 "章节)。例如,如果要explode Andrew Fuller's value,请使用以下表达式:

 
  
"Andrew Fuller"

您将得到以下结果:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第15张图片

设置自动系列

您可以对图表进行设置,使其能够根据数据源中的数据自动创建新系列。要设置自动序列,请执行以下操作:

  • 创建一个序列并设置其属性。该系列将作为所有新系列的模板;
  • 选择"Chart" 对象并设置自动序列数据列。该列的值将是新系列的名称。如果还没有具有此类名称的系列,则将添加新系列。

让我们演示一下如何创建自动序列。我们将使用 MatrixDemo 数据表获取员工每年销售额的图表。一个序列代表一年。具体操作如下

  • 将图表连接到 MatrixDemo 数据源;
  • 创建一个序列并设置其数据:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第16张图片

在 "Data processing "选项卡上,选中 "Group by X value "复选框。这是必要的,因为我们的数据源中有多个同名雇员;
在系列列表中选择图表,并在 "Data "选项卡上设置其自动系列列:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第17张图片

  • 我们的系列值数量可能不同(因为有些员工在这一特定年份没有销售额)。要对齐序列值,请选中 "Align X values "复选框。

我们将得到以下结果:

报表生成器FastReport .Net用户指南:带图表的报告(图表编辑器)_第18张图片

你可能感兴趣的:(.net,编辑器,fastreport,报表控件)