CN106023280B - 一种数据趋势曲线图的绘制方法 - Google Patents
一种数据趋势曲线图的绘制方法 Download PDFInfo
- Publication number
- CN106023280B CN106023280B CN201610317221.0A CN201610317221A CN106023280B CN 106023280 B CN106023280 B CN 106023280B CN 201610317221 A CN201610317221 A CN 201610317221A CN 106023280 B CN106023280 B CN 106023280B
- Authority
- CN
- China
- Prior art keywords
- axis
- data
- value
- pixel
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种数据趋势曲线图的绘制方法,包含以下步骤:S1,建立二维坐标系,将数据的时间域作为X轴,将数据的值域作为Y轴;S2,获取处于所述坐标系显示区域内的时间域范围,与显示区域X轴所占的像素数比较;S3,根据时间域范围和X轴像素数的比例,将时间域按照X轴的像素数等分;对所有加载数据根据每条数据的时间点和像素对应的时间范围进行分组;S4,计算每个X轴上像素点对应的一组数据的特征值作为该像素点对应的Y轴坐标值;S5,根据每个X轴像素及其对应的Y轴坐标特征值依次绘制点序列,并用平滑曲线或线段连接各坐标点。本发明方法支持对海量数据中的数据跳变情况的描绘,最终形成能够真实反映大数据量变化趋势的二维曲线。
Description
技术领域
本发明涉及数据统计技术领域,具体涉及一种数据趋势曲线图的绘制方法。
背景技术
在绘制数据库中数据的趋势曲线图时,需要将大量的数据加载并以二维曲线的形式进行渲染。以10万条数据为例,如果显示区域对应1000个像素,像素是屏幕显示图元的最小单位,每个像素对应100条数据信息。趋势曲线图的渲染需要在满足整体曲线平滑的基础上,保证数据跳变的情况也能够在趋势曲线图中完整的呈现,这一需求在一些实验数据的采集和分析场景尤为突出。目前在面向大数据量的数据趋势渲染过程中,海量数据中个别数据的跳变会由于显示区域的限制,被相邻数据段“平均化”或直接被裁减,无法真实的显示在数据趋势图中,而这类数据往往是试验分析过程中需要重点关注的。
发明内容
本发明的目的是提供一种数据趋势曲线图的绘制方法,以解决或至少减轻背景技术中所存在的至少一处的问题。
本发明采用的技术方案是:提供一种数据趋势曲线图的绘制方法,包含以下步骤:
S1,建立二维坐标系,将数据的时间域作为X轴,将数据的值域作为Y轴;
S2,获取处于所述坐标系显示区域内的时间域范围,与显示区域X轴所占的像素数比较;如果时间域范围小于等于X轴的像素数,则直接根据时间点和数据的值在坐标系中绘制每个特征点,执行步骤S5;如果时间域范围大于X轴的像素数,但小于X轴像素数的两倍,则根据时间点和数据的值在坐标系中绘制每个特征点,执行步骤S5;如果时间域范围大于X轴像素数的两倍,则执行步骤S3;
S3,根据时间域范围和X轴像素数的比例,将时间域按照X轴的像素数等分,每个像素对应一个时间范围;对所有加载数据根据每条数据的时间点和像素对应的时间范围进行分组,每个X轴上像素点的Y轴坐标由该组数据决定;
S4,计算每个X轴上像素点对应的一组数据的特征值,将此特征值作为该像素点对应的Y轴坐标值,其中,计算每个X轴上像素点对应的一组数据的特征值的方法为,计算Y轴值域与Y轴像素数的商,设商值为a,每个X轴上像素点对应的一组数据的平均值、最大值、最小值,分别设平均值为avg,最大值为max,最小值为min,如果max-avg>avg-min并且max-avg>a,则取max为特征值;如果avg-min>max-avg并且avg-min>a,则取min为特征值;否则取avg为特征值;
S5,根据每个X轴像素及其对应的Y轴坐标特征值,能够确定一个屏幕坐标点,依次绘制点序列,并用平滑曲线或线段连接各坐标点,形成一条完整的数据曲线图。
优选地,所述步骤S1中,根据加载数据时间戳的范围计算X轴的显示区间,根据数据全值域范围的最小值和最大值确定Y轴的显示区间。
优选地,所述步骤S2中,在时间戳范围大于像素数,但小于像素数的两倍时,当一个像素对应两个时间戳的,根据这两个时间戳对应数据值的平均值绘制特征点,否则直接根据对应的数据的值绘制特征点。
本发明的有益效果在于:本发明方法支持对海量数据中的数据跳变情况的描绘,最终形成能够真实反映大数据量变化趋势的二维曲线。
附图说明
图1是本发明一实施例的数据趋势曲线图的绘制方法的流程图。
具体实施方式
为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合附图对本发明的实施例进行详细说明。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
如附图1所示,在本实施例中,包含100条试验数据,每条数据包含实际的值对应的记录时间点,时间域范围为0到100,数据曲线的有效显示区域为1000×800的可视范围。
S1,建立二维坐标系,将数据的时间域作为X轴,将数据的值域作为Y轴,根据加载数据时间域范围计算X轴的显示区间,根据数据的值域范围中的最小值和最大值确定Y轴的显示区间;
在本实施例中,即X轴的坐标范围为0到100,遍历100条试验数据,得到其中的最小值和最大值,作为Y轴的坐标范围,为0到200。
S2,获取处于所述坐标系显示区域内的时间域范围,与显示区域X轴所占的像素数比较;如果时间域范围小于等于像素数,则直接根据时间点和数据的值在坐标系中绘制每个特征点,执行步骤S5;如果时间域范围大于X轴的像素数,但小于X轴的像素数的两倍,则根据时间点和数据的值在坐标系中绘制每个特征点,当其中一个像素对应两个时间点的,取这两个时间点对应数值的平均值作为该像素点对应的Y轴坐标,否则直接将对应的数据的值作为Y轴坐标,绘制每个特征点,执行步骤S5;如果时间域范围大于X轴像素数的两倍,则执行步骤S3;
在本实施例中,时间域范围为0到100,X轴像素数为1000,时间域范围小于X轴像素数,直接根据时间点对应的数据值作为Y轴的坐标特征值,绘制特征点,根据每个X轴像素及其对应的Y轴坐标特征值,能够确定一个屏幕坐标点,依次绘制点序列,并用平滑曲线或线段连接各坐标点,形成一条完整的数据曲线图。
在另一个实施例中,包含1500条试验数据,每条数据包含实际的值及对应的记录时间点,时间域范围为0到1500,数据曲线的有效显示区域为1000×800的可视范围。
S1,建立二维坐标系,将数据的时间域作为X轴,将数据的值域作为Y轴,根据加载数据时间域范围计算X轴的显示区间,根据数据的值域范围中的最小值和最大值确定Y轴的显示区间。在本实施例中,X轴的坐标范围0到1500;构建Y轴,遍历1500条试验数据得到其中的最小值和最大值,作为Y轴坐标范围,为0到300。
S2,时间域范围为0到1500,X轴像素数为1000,时间域大于X轴像素数且X轴像素数的2倍,每个X轴像素点对应1到2条数据。遍历每个X轴像素点,如果对应1条数据,直接根据时间点对应的数据的值绘制特征点;如果对应2条数据,根据平均值绘制特征点。根据每个X轴像素及其对应的Y轴坐标特征值,能够确定一个屏幕坐标点,依次绘制点序列,并用平滑曲线或线段连接各坐标点,形成一条完整的数据曲线图。
在另一个备选实施例中,包含10000条试验数据,每条数据包含实际的值及对应的记录时间点,时间域范围为0到10000,数据曲线的有效显示区域为1000×800的可视范围。
S1,构建X轴,X轴的坐标范围0到10000;构建Y轴,遍历10000条试验数据得到其中的最小值和最大值,作为Y轴坐标范围,为0到2000。
S2,时间与范围为0到10000,X轴像素为1000,时间戳范围为X轴像素数的10倍,执行步骤3。
S3,根据时间域范围和X轴像素数的比例,将时间域按照X轴的像素数等分,每个像素对应一个时间范围;对所有加载数据根据每条数据的时间点和像素对应的时间范围进行分组,每个X轴上像素点的Y轴坐标由该组数据决定;
在本实施例中,每个像素对应10个数据,将时间域范围内的数据分解为1000个数据组,每个数据组对应10条数据,并分配一个像素标识,每个X轴上像素点的Y轴坐标由像素标识对应的数据组决定。
S4,计算每个X轴上像素点对应的一组数据的特征值,将此特征值作为该像素点对应的Y轴坐标值。
在本实施例中,计算每个X轴上像素点对应的一组数据的特征值的方法为,计算Y轴值域与Y轴像素数的商,设商值为a,每个X轴上像素点对应的一组数据的平均值、最大值、最小值,分别设平均值为avg,最大值为max,最小值为min,如果max-avg>avg-min并且max-avg>a,则取max为特征值;如果avg-min>max-avg并且avg-min>a,则取min为特征值;否则取avg为特征值;
在本实施例中,Y轴值域与Y轴像素数的商值为2000/800=2.5。假设在本实施例中,第一组的数值为0.0、0.1、0.2、0.3、0.4、0.5、0.6、1.0、1.2,第一组数据的平均值为0.48,最大值为1.2,最小值为0.0,最大值与平均值的差值为1.2-0.48=0.72,最小值与平均值的差值为0.48-0.0=0.48,最大值与平均值的差大于最小值与平均值的差,但小于Y轴值域与Y轴像素数的商值2.5,故选择平均值0.48作为第1组的特征值。第95组的数值为20.0、20.5、20.4、20.5、20.8、20.9、21.0、25.0、21.2、21.3,平均值为21.16,最大值为25.0,最小值为20.0,最大值与平均值的差值为25-21.16=3.84,平均值与最小值的差值为21.16-20.0=1.16,最大值与平均值的差大于最小值与平均值的差,并且大于Y轴值域与Y轴像素数的商值2.5,故选择最大值25.0为第95组的特征值,其中,该组数据中的25.0作为数据突变点,能够真实的反应在绘制的数据曲线中。
S5,根据每个X轴像素及其对应的Y轴坐标特征值,能够确定一个屏幕坐标点,依次绘制1000个像素点,通过平滑曲线连接,形成一条完整的数据曲线图。
最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (3)
1.一种数据趋势曲线图的绘制方法,其特征在于,包含以下步骤:
S1,建立二维坐标系,将数据的时间域作为X轴,将数据的值域作为Y轴;
S2,获取处于所述坐标系显示区域内的时间域范围,与显示区域X轴所占的像素数比较;如果时间域范围小于等于X轴的像素数,则直接根据时间点和数据的值在坐标系中绘制每个特征点,执行步骤S5;如果时间域范围大于X轴的像素数,但小于X轴像素数的两倍,则根据时间点和数据的值在坐标系中绘制每个特征点,执行步骤S5;如果时间域范围大于X轴像素数的两倍,则执行步骤S3;
S3,根据时间域范围和X轴像素数的比例,将时间域按照X轴的像素数等分,每个像素对应一个时间范围;对所有加载数据根据每条数据的时间点和像素对应的时间范围进行分组,每个X轴上像素点的Y轴坐标由该组数据决定;
S4,计算每个X轴上像素点对应的一组数据的特征值,将此特征值作为该像素点对应的Y轴坐标值,其中,计算每个X轴上像素点对应的一组数据的特征值的方法为,计算Y轴值域与Y轴像素数的商,设商值为a,每个X轴上像素点对应的一组数据的平均值、最大值、最小值,分别设平均值为avg,最大值为max,最小值为min,如果max-avg>avg-min并且max-avg>a,则取max为特征值;如果avg-min>max-avg并且avg-min>a,则取min为特征值;否则取avg为特征值;
S5,根据每个X轴像素及其对应的Y轴坐标特征值,能够确定一个屏幕坐标点,依次绘制点序列,并用平滑曲线或线段连接各坐标点,形成一条完整的数据曲线图。
2.如权利要求1所述的数据趋势曲线图的绘制方法,其特征在于:所述步骤S1中,根据加载数据时间戳的范围计算X轴的显示区间,根据数据全值域范围的最小值和最大值确定Y轴的显示区间。
3.如权利要求1所述的数据趋势曲线图的绘制方法,其特征在于:所述步骤S2中,在时间戳范围大于像素数,但小于像素数的两倍时,当一个像素对应两个时间戳的,根据这两个时间戳对应数据值的平均值绘制特征点,否则直接根据对应的数据的值绘制特征点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610317221.0A CN106023280B (zh) | 2016-05-13 | 2016-05-13 | 一种数据趋势曲线图的绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610317221.0A CN106023280B (zh) | 2016-05-13 | 2016-05-13 | 一种数据趋势曲线图的绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106023280A CN106023280A (zh) | 2016-10-12 |
CN106023280B true CN106023280B (zh) | 2019-02-05 |
Family
ID=57099487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610317221.0A Active CN106023280B (zh) | 2016-05-13 | 2016-05-13 | 一种数据趋势曲线图的绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106023280B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106504300A (zh) * | 2016-10-21 | 2017-03-15 | 福建中金在线信息科技有限公司 | 一种时分图的建立方法以及系统 |
CN109300173B (zh) * | 2018-09-28 | 2022-12-20 | 北京无线电测量研究所 | 雷达s曲线显示方法及系统 |
CN112732794A (zh) * | 2021-01-19 | 2021-04-30 | 天地(常州)自动化股份有限公司 | 一种长时间周期的数据曲线展示方法、装置、设备及介质 |
CN115880128A (zh) * | 2022-10-25 | 2023-03-31 | 天津电气科学研究院有限公司 | 数据采集监控软件中负载可控的大数据量摘点绘制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09311953A (ja) * | 1996-05-22 | 1997-12-02 | Hitachi Ltd | 3次元モデル表示システム |
CN101408878A (zh) * | 2007-10-12 | 2009-04-15 | 齐营股份有限公司 | 数据组的图形表示法及其装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9786089B2 (en) * | 2012-08-14 | 2017-10-10 | Nec Solution Innovators, Ltd. | Graph drawing device and graph drawing method |
-
2016
- 2016-05-13 CN CN201610317221.0A patent/CN106023280B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09311953A (ja) * | 1996-05-22 | 1997-12-02 | Hitachi Ltd | 3次元モデル表示システム |
CN101408878A (zh) * | 2007-10-12 | 2009-04-15 | 齐营股份有限公司 | 数据组的图形表示法及其装置 |
Non-Patent Citations (1)
Title |
---|
大量数据绘图,如何提高速度!!!!!!!!!!!!!!!!;c_cyd2008、Tiger_Zhao;《CSDN论坛https://bbs.csdn.net/topics/390268876》;20121109;第3-4页 |
Also Published As
Publication number | Publication date |
---|---|
CN106023280A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106023280B (zh) | 一种数据趋势曲线图的绘制方法 | |
AU2017288933B2 (en) | Systems and methods for dynamic occlusion handling | |
CN109446883A (zh) | 商品状态识别方法、装置、电子设备及可读存储介质 | |
CN101841643B (zh) | 一种黑边检测方法和装置 | |
US8730234B2 (en) | Image display apparatus and image display method | |
CN103380615B (zh) | 图像放大装置及方法 | |
CN102473319A (zh) | 动画控制装置、动画控制方法及动画控制程序 | |
US9239962B2 (en) | Nail region detection method, program, storage medium, and nail region detection device | |
CN109949347A (zh) | 人体跟踪方法、装置、系统、电子设备和存储介质 | |
CN109101171A (zh) | 一种在触摸屏设备中生成滑动轨迹的方法 | |
EP2161940A3 (en) | Image processing device and method, and computer readable recording medium containing program | |
KR20130113826A (ko) | 곡면 디스플레이 패널 및 곡면 디스플레이 패널의 곡률 반경 획득 방법 | |
US20150149883A1 (en) | Image processing device, image processing device control method, program, and information storage medium | |
CN104506968A (zh) | 一种视频摘要图确定方法及装置 | |
CN104134189B (zh) | 一种图像放大的方法及装置 | |
CN109960543B (zh) | 书写操作的处理方法和装置 | |
US20140306958A1 (en) | Stereoscopic rendering system | |
CN111273807A (zh) | 笔迹实现与优化方法、装置与计算机设备 | |
CN104240213A (zh) | 一种显示方法及显示装置 | |
CN114494046A (zh) | 触摸轨迹处理方法、装置、终端、存储介质及程序产品 | |
CN107665186B (zh) | 一种特有字体生成方法 | |
CN112819918A (zh) | 可视化图表的智能生成方法及装置 | |
CN102497525A (zh) | 一种运动补偿去隔行方法 | |
CN105608668B (zh) | 一种信息处理方法及装置 | |
CN102495695B (zh) | 红外对管触摸屏的多点触摸识别方法及触摸装置、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |