搜索
您的当前位置:首页正文

一种图表自动生成系统及方法[发明专利]

来源:小奈知识网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 112232041 A(43)申请公布日 2021.01.15

(21)申请号 202010757591.2(22)申请日 2020.07.31

(71)申请人 青岛百洋智能科技股份有限公司

地址 266000 山东省青岛市北区开封路88

号1号楼201室(72)发明人 周宗霞 谭明智 王凤阳 李翔 (74)专利代理机构 北京隆达恒晟知识产权代理

有限公司 11899

代理人 杨青(51)Int.Cl.

G06F 40/174(2020.01)G06F 40/18(2020.01)

权利要求书1页 说明书4页 附图2页

(54)发明名称

一种图表自动生成系统及方法(57)摘要

本发明基于winform实现自动化图表展示系统。用户可以根据自己的检索条件,看到数据表格,再通过对数据表格的选择,自动的生成相应的图片,以供阅览或者导出。同时,系统后台的xml序列化配置的方式也给图表自由展现提供一种新的解决方案。

CN 112232041 ACN 112232041 A

权 利 要 求 书

1/1页

1.一种图表自动生成系统,其特征在于:该系统包括数据查询模块、表格展示模块和自定义图表生成模块;

所述数据查询模块:用于提供用户的检索交互功能,根据用户输入的查询条件获取查询数据;

所述表格展示模块:由GridView组成,进行数据列显示、样式、透视效果的封装,将数据查询模块获取的查询数据绑定到GridView中进行表格显示;

所述自定义图表生成模块:用于根据用户在查询数据中选择的数据,以及用户选择的图表类型,生成自定义图表并进行展示。

2.根据权利要求1所述的图表自动生成系统,其特征在于:该系统还包括图表初始化模块和图表类型选择模块;

所述图表初始化模块用于根据不同图表类型对应的XML文件来初始化不同类型的图表,以便根据用户选择的数据实现图表内容;

所述图表类型选择模块根据用户的选择进行图表类型的设置。3.根据权利要求1所述的图表自动生成系统,其特征在于:该系统采用XML序列化配置的方式来实现图表的加载和生成,具体包括:引入system.xml.serialization实现XML与图表类之间的相互转化,每个图表对应的XML节点与图表类的每一个字段一一对应,序列化后XML节点的值为图表类中每一个字段的值。

4.一种图表自动生成方法,其特征在于:由GridView控件进行数据列显示、样式、透视效果的封装;在用户查询界面,根据用户输入的自定义查询条件获取查询数据;将得到的数据源绑定到GridView中进行表格显示;用户拖动鼠标在查询数据中选择所需的数据;用户在图表类型选择模块中选择图表类型;根据用户选择的数据和图表类型,生成自定义表格并展示。5.根据权利要求4所述的图表自动生成方法,其特征在于:

在图表生成之前要根据不同图表类型对应的XML文件来初始化不同类型的图表,以便根据用户选择的数据实现图表内容。

6.根据权利要求4所述的图表自动生成方法,其特征在于:采用XML序列化配置的方式来实现图表的加载和生成;具体包括:

引入system.xml.serialization实现XML与图表类之间的相互转化,每个图表对应的XML节点与图表类的每一个字段一一对应,序列化后XML节点的值为图表类中每一个字段的值。

2

CN 112232041 A

说 明 书

一种图表自动生成系统及方法

1/4页

技术领域

[0001]本申请涉及一种信息管理系统,尤其涉及一种图表自动生成系统。

背景技术

[0002]图表展现是对数据最直观的展现方式之一。在大部分时候,图表的展现形式都是有固定主题,固定图表类型。而如果要实现根据用户自我需求,无固定主题、自定义、多元化展现,需要大量繁琐的开发工作。

[0003]自动图表生成系统是基于winform的自动化图表展示工具。用户可以根据自己的检索条件,看到数据表格,再通过对数据表格的选择,自动的生成相应的图片,以供阅览或者导出。

发明内容

[0004]本发明提出了一种图表自动生成系统以及对应的图表生成方法。该系统基于 winform使用DevExpress插件,表格展现使用自定义封装的gridview,图表展现使用ChartControl。该系统图表展现方式丰富,可用图表多达几十种,包括常见的折线图、柱状图、饼图,以及气泡图、漏斗图、雷达图、甘特图、堆叠图、面积图、散点图、圆环图、范围柱状图等等,还有对应的各种3D效果图。同时该系统同样可以设置标签显示、X轴倾斜角度、保留小数等设置,满足用户的多角度分析。[0005]本发明技术方案如下:

[0006]该图表自动生成系统包括:数据查询模块、表格展示模块和自定义图表生成模块。[0007]所述数据查询模块:用于提供用户的检索交互功能,根据用户输入的查询条件获取查询数据。

[0008]所述表格展示模块:由GridView组成,进行数据列显示、样式、透视效果的封装,将数据查询模块获取的查询数据绑定到GridView中进行表格显示。[0009]所述自定义图表生成模块:用于根据用户在查询数据中选择的数据,以及用户选择的图表类型,生成自定义图表并进行展示。[0010]进一步地,该系统还包括图表初始化模块和图表类型选择模块,其中图表初始化模块用于根据不同图表类型对应的XML文件来初始化不同类型的图表,以便根据用户选择的数据实现图表内容;图表类型选择模块根据用户的选择进行图表类型的设置。[0011]进一步地,该系统采用XML序列化配置的方式来实现图表的加载和生成,具体地,引入system.xml.serialization实现XML与图表类之间的相互转化,每个图表对应的XML节点与图表类的每一个字段一一对应,序列化后XML节点的值为图表类中每一个字段的值。[0012]该图表自动生成系统的实现原理及流程如下:[0013]在用户查询界面,用户输入自定义查询条件(该查询条件为非系统预设,可根据用户需求自行定义),系统通过用户所选条件从数据库中检索对应数据。得到数据源DataSource绑定到GridView控件,展示表格。用户可以按下鼠标左键在表格上面拖动鼠标,

3

CN 112232041 A

说 明 书

2/4页

任意选择部分或者全部的单元格数据,选中方式和excel 的选中方式一样。用户选择图表设置中的图表类型,就会触发显示图表事件。此时系统会捕捉到用户所选择的数据内容。系统根据用户选择的图表设置内容,找到对应的XML文件,并序列化成图表对象。每种图表类型对应不同的XML文件。最后根据XML文件序列化的对象,传入图表设置模块,生成不同图表。

[0014]本发明的有益效果:

[0015]本发明涉及的自动化图表生成系统能够令用户自由选择查询内容中的数据,选择极其丰富的图表展现形式,实现选中数据的实时可视化展示。[0016]系统后台将不同的图表以XML形式配置在系统中,根据对应的XML文件来初始化不同图表,再根据用户所选数据实现图表内容,大大减少了图表加载、数据加载所耗时间。附图说明

[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

[0018]图1-3是本发明自动化图标生成系统的图表类型变化效果图;其中图1、图2为用户选中的相同数据,以不同类型图表展现的变化效果;其中图1、图3为用户选中不同的数据,以相同类型的图表展现的变化效果。

具体实施方式

[0019]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

[0020]本系统基于winform使用DevExpress插件,表格展现使用自定义封装的 gridview,图表展现使用ChartControl。系统图表展现方式丰富,可用图表几十种,包括常见的折线图、柱状图、饼图,以及气泡图、漏斗图、雷达图、甘特图、堆叠图、面积图、散点图、圆环图、范围柱状图等等,还有对应的各种3D 效果图。系统同样可以设置标签显示、X轴倾斜角度、保留小数等设置,满足用户的多角度分析。[0021]本申请涉及的图表自动生成系统包括:数据查询模块、表格展示模块和自定义图表生成模块。

[0022]所述数据查询模块:用于提供用户的检索交互功能,根据用户输入的查询条件获取查询数据。

[0023]所述表格展示模块:由GridView组成,进行数据列显示、样式、透视效果的封装,将数据查询模块获取的查询数据绑定到GridView中进行表格显示。[0024]所述自定义图表生成模块:用于根据用户在查询数据中选择的数据,以及用户选择的图表类型,生成自定义图表并进行展示。[0025]进一步地,该系统还包括图表初始化模块和图表类型选择模块,其中图表初始化

4

CN 112232041 A

说 明 书

3/4页

模块用于根据不同图表类型对应的XML文件来初始化不同类型的图表,以便根据用户选择的数据实现图表内容;图表类型选择模块根据用户的选择进行图表类型的设置。[0026]进一步地,该系统采用XML序列化配置的方式来实现图表的加载和生成,具体地,引入system.xml.serialization实现XML与图表类之间的相互转化,每个图表对应的XML节点与图表类的每一个字段一一对应,序列化后XML节点的值为图表类中每一个字段的值。[0027]本发明涉及的系统后台实现的独特之处是将不同的图表以xml的形式配置在系统中,根据对应的XML文件来初始化不同图表,再根据用户所选数据实现图表内容,大大减少了图表加载、数据加载所耗时间。系统关键技术点主要有图表 XML文件的序列化和反序列化、图表的生成。[0028]1、序列化和反序列化的实现:[0029]XML,又称可扩展标记语言。是一种用于标记电子文件使其具有结构性的标记语言。与json一样,XML同样有节点组成,系统程序执行时,对象都驻留在内存中;内存中的对象如果需要传递给其他系统使用;或者在关机时需要保存下来以便下次再次启动程序使用就需要序列化和反序列化。

[0030]序列化其实是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。这就是序列化的意义所在。在系统中,引用system.xml.serializatoin 实现xml与图表类之间的相互转化。具体地,在.NET FrameWork中框架中,通过引用System.Xml.Serialization.XmlSerializer可直接调用系统 xmlSerializer.Serialize()方法将类的对象转化为xml,反之通过 xmlSerializer.Deserialize()方法将xml文件反序列化为对象。[0031]在序列化过程中,所定义的序列化类(图表类)的属性名称,必须与XML文件节点名称一致。在每个图表类型的XML文件中,XML节点的值与图表类的属性一一对应。XML文件经过序列化后,其节点的值会被初始化为图表对象的对应属性值,根据不同的图表对象产生不同的图表。XML文件包含有图形的全部信息, XML节点包括但不限于:[0032](1)Viewtype图表类型(如bar、line)[0033](2)Chart.Title图表标题[0034](3)Legend图例[0035](4)Legend.Title图例标题[0036](5)Item图例参数[0037](6)Border图例边框[0038](7)x_axis X轴[0039](8)labels X轴标签[0040](9)y_axis Y轴[0041](10)always_show_zero零点显示[0042]2、图表的实现:

[0043]与大多数图表控件一样,ChartControl同样拥有各种图表配置属性。图表核心Series属性、图表Y轴y_axis属性、图表X轴x_axis属性、图例legend 属性。Chartcontrol可以完美的与winform系统融合,使系统可以做到对图表的标签位置、折线图节点形状、副标题、图例颜色的细节控制,使图表展示效果优雅。图表展示的具体步骤:

5

CN 112232041 A[0044]

说 明 书

4/4页

(1)用户根据条件查询,系统去数据库查询数据。在查询计算过程中,系统会将需

要计算的列做标记,本领域称为做度量列,比如金额、数量。而不需要计算直接显示的列,本领域称为维度列,比如省份、城市。查询完毕后,将查询结果绑定到展示模块中的GridView,供用户预览。[0045](2)用户想查看图形时,在GridView展示模块中的选中数据,然后点击“图表类型”下拉框,触发图表显示事件。[0046](3)系统获取所选中数据并且生成对应的数据源DataSource,并且根据所选图表类型,找到对应的XML图表配置文件,然后一并将数据源 DataSource与XML配置文件这两个参数传递给图表展示接口。[0047](4)图表展示接口收到的XML文件数据参数,决定了图形的类型和属性。首先XML文件被序列化为图表类的对象。系统中的每一个图表类型都对应一个XML文件,不同的图表类型对应的XML文件内容不同。比如在饼图的XML文件中,Viewtype节点的值为“Pie”,折线图的 XML文件中Viewtype节点的值为“Line”;当用户在图表类型下拉框中选择“折线图”时,接口接收到的参数是“折线图.xml”文件,并读取其中的内容,将“折线图.xml”文件中的Viewtype的值“Line”序列化为图表类ChartControl的Viewtype的值,而封装好的图表插件ChartControl会根据Viewtype的值来决定展示的图形类型,所以界面显示成了饼图。[0048](5)图表展示接口收到的数据源DataSource,决定了图形所需要的数据。比如在折线图中,系统将维度列的值传递给X轴,将度量列的值传递给Y轴,每个折点的值都会由X轴属性与Y轴属性决定, ChartControl有了这两个值后,再根据上步的图形属性,就可以展示图形,呈现给用户了。

[0049]如附图1-3所示,本发明涉及的自动化图表生成系统以其丰富的图表、自由的数据选择给用户良好的体验。该系统同样可以以组件的形式应用嵌入到其他项目,极大的简化了开发。同时,系统后台的xml序列化配置的方式也给图表自由展现提供一种新的解决方案。

6

CN 112232041 A

说 明 书 附 图

1/2页

图1

图2

7

CN 112232041 A

说 明 书 附 图

2/2页

图3

8

因篇幅问题不能全部显示,请点此查看更多更全内容

Top