CN105389170A - 一种绘图方法及系统 - Google Patents
一种绘图方法及系统 Download PDFInfo
- Publication number
- CN105389170A CN105389170A CN201510811300.2A CN201510811300A CN105389170A CN 105389170 A CN105389170 A CN 105389170A CN 201510811300 A CN201510811300 A CN 201510811300A CN 105389170 A CN105389170 A CN 105389170A
- Authority
- CN
- China
- Prior art keywords
- data
- axis
- ordinates
- draw
- max
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种绘图方法及系统,所述方法包括:确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位;根据横坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制横坐标轴,以及根据纵坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制纵坐标轴;在所述绘制的横坐标轴和纵坐标轴的范围内显示所述待绘图数据的各数据点;依次连接所述待绘图数据的各数据点,得到绘制的图形。本发明可根据待绘图数据确定图形的横坐标轴以及纵坐标轴的数值范围、数据间隔及数据单位,更好的展示待绘图数据的各数据点绘制出的专业图形,如曲线图,阶梯图等,以使工程人员及用户更方便地对数据进行分析处理。
Description
技术领域
本发明涉及图形图像领域,尤其涉及一种绘图方法及系统。
背景技术
面对日益增多的各种大批量的数据绘制图形的需求,绘制图形时,为使数据的表现形式更加直观生动,我们常需要用到阶梯图,曲线图等。PowerBuilder是一种可视化、面向对象的快速开发工具,是优秀的数据库前端开发工具。PowerBuilder中自带的统计图(Graph)控件,在绘制散列图、饼图、柱形图等统计图时比较方便,但不适合绘制专业的数据图形。
现有技术的一个方案公开了:在PowerBuilder开发环境中,利用WindowsAPI函数中的图形设备接口函数实现绘图。但此方法依赖于Windows开放出的图形设备接口,即程序移植时,必须首先配置好Windows系统环境,以及绘图所依赖的绘图软件环境。这不利于跨平台开发。此外,WindowsAPI函数的开发难度大,不利于初学者使用。
现有技术的另一个方案公开了:利用动态数据窗口技术实现绘图,仍是调用PowerBuilder中的Graph控件绘制图形,再利用数据窗口的属性进行略微调整,但其所设计的方法不够完整。
发明内容
基于现有技术的缺陷,本发明提供一种绘图方法及系统,以解决现有技术中绘图方法不全面的技术问题。
第一方面,本发明提供一种绘图方法,包括:
确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位;
根据横坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制横坐标轴,以及根据纵坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制纵坐标轴;
在所述绘制的横坐标轴和纵坐标轴的范围内显示所述待绘图数据的各数据点;
依次连接所述待绘图数据的各数据点,得到绘制的图形。
可选地,在所述确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位之前,所述方法还包括:
获取待绘图的数据,判断所述待绘图的数据中横坐标的个数与纵坐标的个数是否相等;
当所述待绘图的数据中横坐标的个数与纵坐标的个数相等时,执行所述确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位的步骤。
可选地,所述确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位,包括:
在接收到用户输入的绘图参数时,判断xmax是否大于xmin;
当xmax大于xmin时,则计算(xmax-xmin)/xspacing,并判断(xmax-xmin)/xspacing的结果是否为整数;
如果(xmax-xmin)/xspacing的结果为整数,则根据所述绘图参数确定待绘图数据的横坐标轴的数值范围、数据间隔及数据单位;
其中,xmax为横坐标轴最大值、xmin为横坐标轴最小值、xspacing为横坐标轴数据间隔;
在接收到用户输入的绘图参数时,判断ymax是否大于ymin;
当ymax大于ymin时,则计算(ymax-ymin)/yspacing,并判断(ymax-ymin)/yspacing的结果是否为整数;
如果(ymax-ymin)/yspacing的结果为整数,则根据所述绘图参数确定待绘图数据的纵坐标轴的数值范围、数据间隔及数据单位;
其中,ymax为纵坐标轴最大值、ymin为纵坐标轴最小值、yspacing为纵坐标轴数据间隔;
所述用户输入的绘图参数包括:横坐标轴最大值xmax、横坐标轴最小值xmin、横坐标轴数据间隔xspacing、横坐标轴数据单位xtext、纵坐标轴最大值ymax、纵坐标轴最小值ymin、纵坐标轴数据间隔yspacing及纵坐标轴数据单位ytext。
可选地,所述根据所述绘图参数确定待绘图数据的横坐标轴的数值范围、数据间隔及数据单位,包括:
确定xmax为横坐标轴的最大值,xmin为横坐标轴的最小值,xspacing为横坐标轴的数据间隔,xtext为横坐标轴的数据单位;
所述根据所述绘图参数确定待绘图数据的纵坐标轴的数值范围、数据间隔及数据单位,包括:
确定ymax为纵坐标轴的最大值,ymin为纵坐标轴的最小值,yspacing为纵坐标轴的数据间隔,ytext为纵坐标轴的数据单位。
可选地,所述确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位,包括:
在未接收到用户输入的绘图参数时,根据所述待绘图数据的横坐标最大值x’max、横坐标轴最小值x’min、纵坐标轴最大值y’max、纵坐标轴最小值y’min、横坐标轴的数据单位x’text及纵坐标轴的数据单位y’text,确定横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位。
可选地,在所述依次连接所述待绘图数据的各数据点,得到绘制的图形之后,所述方法还包括:
接收用户输入的绘图优化参数,并根据所述绘图优化参数对所述绘制的图形进行优化。
可选地,所述方法还包括:
当所述待绘图的数据中横坐标的个数与纵坐标的个数不相等时,则显示第一提示信息,并结束绘图。
可选地,所述方法还包括:
当xmax小于或等于xmin时或ymax小于或等于ymin时,则显示第二提示信息,并结束绘图。
可选地,所述方法还包括:
当(xmax-xmin)/xspacing的结果为非整数时或(ymax-ymin)/yspacing的结果为非整数时,则显示第三提示信息,并结束绘图。
第二方面,本发明提供一种绘图系统,包括:
参数确定单元,用于确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位;
坐标轴绘制单元,用于根据横坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制横坐标轴,以及根据纵坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制纵坐标轴;
数据点显示单元,用于在所述绘制的横坐标轴和纵坐标轴的范围内显示所述待绘图数据的各数据点;
图形绘制单元,用于依次连接所述待绘图数据的各数据点,得到绘制的图形。
由上述技术方案可知,本发明的绘图方法及系统,可根据待绘图数据确定图形的横坐标轴以及纵坐标轴的数值范围、数据间隔及数据单位,更好的展示待绘图数据的各数据点绘制出的专业图形,如曲线图,阶梯图等,以使工程人员及用户更方便地对数据进行分析处理。
附图说明
图1为本发明一实施例提供的绘图方法的流程示意图;
图2为本发明另一实施例提供的绘图方法的流程示意图;
图3为本发明另一实施例提供的绘图方法的流程示意图;
图4为本发明一实施例提供的绘图系统的结构示意图;
图5为本发明一实施例提供的控件界面示意图;
图6为本发明一实施例提供的控件工作流程示意图;
图7为本发明另一实施例提供的利用控件界面绘制专业图形的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1示出了本发明一实施例提供的绘图方法的步骤示意图。如图1所示,本实施例的绘图方法包括步骤S11至S14。
S11、确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位。
确定横坐标轴的所述数值范围、所述数据间隔及所述数据单位以及纵坐标轴的所述数值范围、所述数据间隔及所述数据单位。
S12、根据横坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制横坐标轴,以及根据纵坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制纵坐标轴。
S13、在所述绘制的横坐标轴和纵坐标轴的范围内显示所述待绘图数据的各数据点。
S14、依次连接所述待绘图数据的各数据点,得到绘制的图形。
本实施例的绘图方法,可根据待绘图数据确定图形的横坐标轴以及纵坐标轴的数值范围、数据间隔及数据单位,更好的展示待绘图数据的各数据点绘制出的专业图形,如曲线图,阶梯图等,以使工程人员及用户更方便地对数据进行分析处理。
图2示出了本发明另一实施例提供的绘图方法的流程示意图。如图2所示,本实施例的绘图方法包括步骤S21至S29。
S21、开始。
S22、获取待绘图的数据。
S23、判断所述待绘图的数据中横坐标的个数与纵坐标的个数是否相等,如果待绘图的数据中横坐标的个数与纵坐标的个数相等,则执行S24,否则执行S24’。
当待绘图数据中横坐标的个数与纵坐标的个数相等时,说明待绘图数据中横坐标与纵坐标一一对应,可以对此数据进行绘图。
当待绘图数据中横坐标的个数与纵坐标的个数不相等时,说明待绘图数据中横坐标与纵坐标不是一一对应,无法对待绘图数据绘制图形。
S24、确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位。
S24’、显示第一提示信息。
第一提示信息用于提醒用户待绘图数据出错,需重新导入正确的数据,然后执行步骤S29结束此次绘图。
S25、根据横坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制横坐标轴,以及根据纵坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制纵坐标轴。
S26、在所述绘制的横坐标轴和纵坐标轴的范围内显示所述待绘图数据的各数据点。
S27、依次连接所述待绘图数据的各数据点,得到绘制的图形。
S28、接收用户输入的绘图优化参数,并根据所述绘图优化参数对所述绘制的图形进行优化。
图形绘制完成后,用户可根据需要对绘制的图形进行优化,即调整横坐标轴和/或纵坐标轴的数值范围及数据间隔,以便更好的对绘制的图形进行分析研究。
S29、结束。
本实施例公开的绘图方法,可以在判断数据出错时提示用户,并且可根据用户的需要调整横坐标轴和纵坐标轴的数据范围和数据间隔。在用户对绘图参数无要求时,可根据待绘图数据在横坐标和纵坐标上的最大值和最小值,自主确定待绘制图形的坐标轴的数据范围和数据间隔。极大的提升了用户的使用感和分析数据的便利性。
图3示出了本发明一实施例提供的绘图方法的流程示意图。如图3所示,本实施例的绘图方法包括步骤S31至S39。
S31、开始。
S32、判读是否接收到用户输入的绘图参数。
本实施例中,用户可在绘图之前对横坐标轴和纵坐标轴的数值范围和数据间隔自行设定,以直接得到自定义的数据范围的图形,也可不对横坐标轴和纵坐标轴的数值范围和数据间隔进行限定。
本实施例中,用户输入的绘图参数包括:横坐标轴最大值xmax、横坐标轴最小值xmin、横坐标轴数据间隔xspacing、横坐标轴数据单位xtext、纵坐标轴最大值ymax、纵坐标轴最小值ymin、纵坐标轴数据间隔yspacing及纵坐标轴数据单位ytext。
如果接收到用户输入的绘图参数,则执行步骤S33,否则执行步骤S32’。
S32’、根据所述待绘图数据的横坐标最大值x’max、横坐标轴最小值x’min、纵坐标轴最大值y’max、纵坐标轴最小值y’min、横坐标轴的数据单位x’text及纵坐标轴的数据单位y’text,确定横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位。
完成步骤S32’,跳至步骤S36。
本实施例的绘图方法可读取待绘图数据,确定待绘图数据的横坐标最大值x’max、横坐标轴最小值x’min、纵坐标轴最大值y’max、纵坐标轴最小值y’min、横坐标轴的数据单位x’text及纵坐标轴的数据单位y’text,进而确定横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位。
S33、判断是否xmax>xmin且ymax>ymin;
本实施例中,横坐标轴和纵坐标轴的最大值必须大于最小值,当其中一者不满足该条件时,则执行步骤S33’,否则执行步骤S34。
S33’、显示第二提示信息。
本实施例中,显示第二提示信息旨在提醒用户输入的横坐标轴或纵坐标轴的最大值或最小值有误,需重新输入,并结束此次绘图。
S34、判断是否(xmax-xmin)/xspacing且(ymax-ymin)/yspacing为整数;
本实施例中,横坐标轴和纵坐标轴的最大值与最小值的差值除以数据间隔必须为整数,当二者均为整数时,执行步骤S35,否则执行步骤S34’。
S34’、显示第三提示信息。
本实施例中,显示第二提示信息旨在提醒用户输入的横坐标轴或纵坐标轴的数据间隔有误,需重新输入,并结束此次绘图。
S35、确定xmax为横坐标轴的最大值,xmin为横坐标轴的最小值,xspacing为横坐标轴的数据间隔,xtext为横坐标轴的数据单位;确定ymax为纵坐标轴的最大值,ymin为纵坐标轴的最小值,yspacing为纵坐标轴的数据间隔,ytext为纵坐标轴的数据单位。
将用户输入的绘图参数与绘图需要的参数一一对应,并执行步骤S36。
S36、根据横坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制横坐标轴,以及根据纵坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制纵坐标轴。
S37、在所述绘制的横坐标轴和纵坐标轴的范围内显示所述待绘图数据的各数据点;
S38、依次连接所述待绘图数据的各数据点,得到绘制的图形。
S39、结束。
本实施例的绘图方法,包括两种确定横坐标轴和纵坐标轴的数值范围、所述数据间隔及所述数据单位的方法,为用户绘图提供了更大的便利。
图4示出了本发明一实施例提供的绘图系统的结构示意图。如图4所示,本实施例的绘图系统包括参数确定单元401、坐标轴绘制单元402、数据点显示单元403及图形绘制单元404。
参数确定单元401,用于确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位;
坐标轴绘制单元402,用于根据横坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制横坐标轴,以及根据纵坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制纵坐标轴;
数据点显示单元403,用于在所述绘制的横坐标轴和纵坐标轴的范围内显示所述待绘图数据的各数据点;
图形绘制单元404,用于依次连接所述待绘图数据的各数据点,得到绘制的图形。
本实施例的绘图系统可执行图1中所示方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本发明一实施例提供的控件界面示意图。本实施例中的控件是在PowerBuilder开发环境中,利用PowerBuilder自带的数据窗口、数据窗口的属性及窗口函数制作的绘图控件。
在数据窗口中,利用Modify函数即可对当前数据窗口界面进行调整,可以在应用程序代码中设置修改数据窗口的各种操作。此函数在本实施例的控件中的作用为在数据窗口对象中增加和删除对象(比如直线、位图、文字等)。
首先将数据窗口控件与空白的数据窗口对象关联起来,按照需要动态的将线段或文字添加到数据窗口上。
添加线段的示例代码如下:
Stringis_command
is_command="createline(band=backgroundx1='"+string(xss[i])+"'"+&
"y1='"+string(yss[1])+"'x2='"+string(xss[i])+"'y2='"+string(yss[yc])+"'"+&"pen.style='0'pen.width='"+string(6)+"'pen.color='"+string(RGB(230,230,230))+"'background.mode='1'"+&
"name="aa")"
Dw_1.modify(is_command)
将绘制的内容赋值给一个String型的变量。其中,createline表明绘制一条线段,其中括号内皆为这条线段的属性,x1,y1,x2,y2分别为起始点在画布上的始末位置,其后跟着的是在数据窗口画布上的坐标;pen.style,pen.width,pen.color分别表示该线段的类型,线段的粗细和线段的颜色。调整属性参数后,在数据窗口Dw_1中利用Modify函数进行修正。
添加文字与添加线段类似,示例代码如下:
is_command="createtext(band=foregroundbackground.mode='1'"+'~t'+&
"text='"+addtext+"'"+'~t'+"font.face='"+'黑体'+"'"+'~t'+&
"font.weight='"+'400'+"'~t"+"font.height='"+zheigx+"'"+&
"height='"+string(80)+"'width='"+string(3200)+"'x='"+string(ytitlex)+"'y='"+string(ytitley)+"'"+'~t'+&
"resizeable=0moveable=0height.autosize=yes"+'~t'+"name="+'ey'+")"
Dw_1.modify(is_command)
将添加的内容赋值给一个字符串变量。其中,createtext表示添加字符串的语句,其中text表示添加的内容,font.face,font.weight,font,height分别表示字体类型,字体宽度与字体高度。而height,weight表示该字符串的宽度与高度,x,y值表示该字符串添加时左上角在数据窗口的位置。
基于上述原理,本实施例的控件定义了12个绘图参数,并定义了各绘图参数的类型,还对各绘图参数的作用做出了解释。各绘图参数如下所示:
name:Datawindow类型。表示指定的数据窗口名称。
ytext:String类型。表示纵坐标轴的数据单位。
ymax:Double类型。表示纵坐标轴的最大值。
ymin:Double类型。表示纵坐标轴的最小值。
yspacing:Double类型。表示纵坐标轴的数据间隔。
xtext:String类型。表示横坐标轴的数据单位。
xmax:Double类型。表示横坐标轴的最大值。
xmin:Double类型。表示横坐标轴的最小值。
xspacing:Double类型。表示横坐标轴的数据间隔。
number:int类型。表示绘制的图形中线条的个数。
x:String类型。表示存储待绘图数据的横坐标数据的实例变量数组名称。
y:String类型。表示存储待绘图数据的横坐标数据的实例变量数组名称。
根据上述参数,本实施例的控件定义了一个绘图函数,如下:
draw(name,ytext,ymax,ymin,yspacing,xtext,ymax,ymin,yspacing,number,x,y)。
当绘制曲线的数量大于1时,则按照逗号的组合方式,将实例变量数组名称拼成字符串写入绘图函数中。
本实施例的控件还定义了一个返回值:Integer,用于指示上述绘图函数运行是否成功。当上述绘图函数执行成功时返回1,发生错误时返回-1。
举例来说,待绘图数据的横坐标存储在名称为x1的实例变量数组内,待绘图数据的纵坐标存储在名称为y1的实例变量数组内,将上述待绘图数据中的各数据点在数据窗口dw_1上绘制出来,运行代码如下:
Integerli_draw
Li_draw=draw(dw_1,’UdR(kV)’,501,499,1,’PdR(MW)’,3500,0,500,x1,y1)
将数据窗口的面板当成一个空白的画布,将待绘图数据的各数据点转化为画布上的坐标点。将待绘图数据的横坐标和纵坐标分别存入实例变量数组,在绘图时,将对应的变量数组名称传入上述绘图函数即可。同时对横坐标轴和纵坐标轴的进行设置,用户可自行定义横坐标轴和纵坐标轴的最大值、最小值和数据间隔。若用户没有自行定义,则绘图函数根据待绘图数据的横坐标轴和纵坐标轴的最大值、最小值以预设的坐标设置规则进行绘图。
由本实施例的控件界面可知,用户可通过在六个数字输入框中输入对应的数字来定义横坐标轴的数据间隔、最小值和最大值,纵坐标轴的数据间隔、最小值和最大值。在点击“画图”按钮后,控件将用户输入的上述绘图参数传递给绘图函数,即可得到用户输入的数值范围内的待绘图数据的图形。
如果用户在本实施例的控件界面中并没有输入各绘图参数,则控件判定用户输入为“空”,在点击“画图”按钮后,控件将“空”信息传递给绘图函数,绘图函数会根据预设规则设定各绘图函数。
因本实施例的控件界面中绘制的是电压功率图,所以纵坐标轴显示的数据单位应为UdR(kV),横坐标轴显示的数据单位应为PdR(MW),将这两个量传入绘图函数即可显示出来。
本实施例的绘图控件,不依赖于系统环境,只利用了PowerBuilder自带的数据窗口、数据窗口的属性及窗口函数,并对其进行封装,使得本实施例的绘图控件方便调用和移植。并且本实施例的控件利用编制少量的代码实现在数据窗口上绘图的功能,为用户根据需求对绘图控件进行改动提供了极大的便利。
图6为本发明一实施例提供的控件工作流程示意图。如图6所示,本实施例的控件工作流程包括步骤S61至S69。
S61、开始。
S62、判断用户输入的绘图参数是否正确。
本实施例中的判断用户输入的绘图参数的内容与图3中S33及S34的内容相同,此处不再赘述。
如果判断正确,则执行步骤S63,否则执行步骤S62’。
S62’、显示提示信息。
提醒用户输入有误,并跳至S69,结束此次绘图。
S63、清空数据窗口画布上的内容。
如果绘制的图形与原来绘制的图形在一个数据窗口上,则需要将原来绘制的图形清除,以显示新的图形。可以理解的是,如果绘制的图形是在一个新的数据窗口上,则不需要清除处理。
S64、确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位。
当用户未输入绘图参数时,控件根据绘图函数中用户输入的所有待绘制图形的横坐标最大值、横坐标最小值、纵坐标最大值及纵坐标最小值确定横坐标轴和纵坐标轴的数值范围及数据间隔。
S65、根据横坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制横坐标轴,以及根据纵坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制纵坐标轴。
S66、调整绘制的横坐标轴和纵坐标轴范围内的绘图网格线的颜色。
本实施例中,根据横坐标轴的数据间隔和纵坐标轴的数据间隔,在绘制的横坐标轴和纵坐标轴范围内会显示绘图网格线,将绘图网格线的颜色调整至较浅的颜色,可提升用户对绘制图形的观感。
S67、将待绘图数据的各数据点的坐标与数据窗口的画布的坐标进行转换,在画布上显示各待绘图数据的各数据点。
S68、依次连接所述待绘图数据的各数据点,得到绘制的图形。
S69、结束。
本实施例的绘图控件的充分考虑了用户在绘制图形时的观感,并且允许用户在同一数据窗口中绘制多条专业的数据曲线,提高了适用性。
图7为本发明另一实施例提供的利用控件界面绘制专业图形的示意图。用户将待绘图的数据存储在数据库中,根据PowerBuilder中搭建好的客户机/服务器架构,将待绘图的数据从数据库中提取,依次调用绘图函数,即可在数据窗口上绘制出各待绘图数据对应的图形。
图7中分别绘制了三条曲线,有阶梯图也有普通的曲线图。绘制完图形后可以通过坐标调整,点击‘画图’按钮即可进行图形调整。
本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (10)
1.一种绘图方法,其特征在于,包括:
确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位;
根据横坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制横坐标轴,以及根据纵坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制纵坐标轴;
在所述绘制的横坐标轴和纵坐标轴的范围内显示所述待绘图数据的各数据点;
依次连接所述待绘图数据的各数据点,得到绘制的图形。
2.根据权利要求1所述的方法,其特征在于,在所述确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位之前,所述方法还包括:
获取待绘图的数据,判断所述待绘图的数据中横坐标的个数与纵坐标的个数是否相等;
当所述待绘图的数据中横坐标的个数与纵坐标的个数相等时,执行所述确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位的步骤。
3.根据权利要求1或2所述的方法,其特征在于,所述确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位,包括:
在接收到用户输入的绘图参数时,判断xmax是否大于xmin;
当xmax大于xmin时,则计算(xmax-xmin)/xspacing,并判断(xmax-xmin)/xspacing的结果是否为整数;
如果(xmax-xmin)/xspacing的结果为整数,则根据所述绘图参数确定待绘图数据的横坐标轴的数值范围、数据间隔及数据单位;
其中,xmax为横坐标轴最大值、xmin为横坐标轴最小值、xspacing为横坐标轴数据间隔;
在接收到用户输入的绘图参数时,判断ymax是否大于ymin;
当ymax大于ymin时,则计算(ymax-ymin)/yspacing,并判断(ymax-ymin)/yspacing的结果是否为整数;
如果(ymax-ymin)/yspacing的结果为整数,则根据所述绘图参数确定待绘图数据的纵坐标轴的数值范围、数据间隔及数据单位;
其中,ymax为纵坐标轴最大值、ymin为纵坐标轴最小值、yspacing为纵坐标轴数据间隔;
所述用户输入的绘图参数包括:横坐标轴最大值xmax、横坐标轴最小值xmin、横坐标轴数据间隔xspacing、横坐标轴数据单位xtext、纵坐标轴最大值ymax、纵坐标轴最小值ymin、纵坐标轴数据间隔yspacing及纵坐标轴数据单位ytext。
4.根据权利要求3所述的方法,其特征在于,
所述根据所述绘图参数确定待绘图数据的横坐标轴的数值范围、数据间隔及数据单位,包括:
确定xmax为横坐标轴的最大值,xmin为横坐标轴的最小值,xspacing为横坐标轴的数据间隔,xtext为横坐标轴的数据单位;
所述根据所述绘图参数确定待绘图数据的纵坐标轴的数值范围、数据间隔及数据单位,包括:
确定ymax为纵坐标轴的最大值,ymin为纵坐标轴的最小值,yspacing为纵坐标轴的数据间隔,ytext为纵坐标轴的数据单位。
5.根据权利要求1或2所述的方法,其特征在于,所述确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位,包括:
在未接收到用户输入的绘图参数时,根据所述待绘图数据的横坐标最大值x’max、横坐标轴最小值x’min、纵坐标轴最大值y’max、纵坐标轴最小值y’min、横坐标轴的数据单位x’text及纵坐标轴的数据单位y’text,确定横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位。
6.根据权利要求1或2所述的方法,其特征在于,在所述依次连接所述待绘图数据的各数据点,得到绘制的图形之后,所述方法还包括:
接收用户输入的绘图优化参数,并根据所述绘图优化参数对所述绘制的图形进行优化。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述待绘图的数据中横坐标的个数与纵坐标的个数不相等时,显示第一提示信息,并结束绘图。
8.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当xmax小于或等于xmin时或ymax小于或等于ymin时,显示第二提示信息,并结束绘图。
9.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当(xmax-xmin)/xspacing的结果为非整数时或(ymax-ymin)/yspacing的结果为非整数时,显示第三提示信息,并结束绘图。
10.一种绘图系统,其特征在于,包括:
参数确定单元,用于确定待绘图数据的横坐标轴和纵坐标轴的数值范围、数据间隔及数据单位;
坐标轴绘制单元,用于根据横坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制横坐标轴,以及根据纵坐标轴的所述数值范围、所述数据间隔及所述数据单位,绘制纵坐标轴;
数据点显示单元,用于在所述绘制的横坐标轴和纵坐标轴的范围内显示所述待绘图数据的各数据点;
图形绘制单元,用于依次连接所述待绘图数据的各数据点,得到绘制的图形。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510811300.2A CN105389170A (zh) | 2015-11-20 | 2015-11-20 | 一种绘图方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510811300.2A CN105389170A (zh) | 2015-11-20 | 2015-11-20 | 一种绘图方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105389170A true CN105389170A (zh) | 2016-03-09 |
Family
ID=55421477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510811300.2A Pending CN105389170A (zh) | 2015-11-20 | 2015-11-20 | 一种绘图方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389170A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528027A (zh) * | 2016-11-28 | 2017-03-22 | 合网络技术(北京)有限公司 | 数据展示方法及装置 |
CN107025106A (zh) * | 2016-11-02 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种图形绘制方法及装置 |
CN107092454A (zh) * | 2017-03-06 | 2017-08-25 | 北京航空航天大学 | 一种基于vc的光纤光栅波长数据实时绘图显示的方法 |
CN107463654A (zh) * | 2017-07-27 | 2017-12-12 | 武汉票据交易中心有限公司 | 一种图表数据更新绘制方法和装置 |
CN108062372A (zh) * | 2017-12-12 | 2018-05-22 | 北京百度网讯科技有限公司 | 基于人工智能的图像生成方法和装置 |
CN109254976A (zh) * | 2017-07-11 | 2019-01-22 | 中国移动通信集团北京有限公司 | 一种图形的绘制方法、装置、电子设备及存储介质 |
CN110263310A (zh) * | 2019-05-15 | 2019-09-20 | 平安科技(深圳)有限公司 | 数据图生成方法、装置及计算机可读存储介质 |
CN110956676A (zh) * | 2019-11-15 | 2020-04-03 | 度亘激光技术(苏州)有限公司 | 一种多轴曲线的绘制方法、装置及电子设备 |
CN111367614A (zh) * | 2020-03-30 | 2020-07-03 | 上海航天计算机技术研究所 | 测试数据曲线显示处理系统 |
CN113658293A (zh) * | 2021-07-29 | 2021-11-16 | 北京奇艺世纪科技有限公司 | 图片绘制方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729885A (zh) * | 2014-01-21 | 2014-04-16 | 北京邮电大学 | 多视角投影与三维注册联合的手绘场景三维建模方法 |
CN104199660A (zh) * | 2014-08-29 | 2014-12-10 | 河海大学 | 水利软件中定制式输出及成果动态显示的方法 |
CN104317600A (zh) * | 2014-10-31 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种可配置的曲线图生成方法及系统 |
-
2015
- 2015-11-20 CN CN201510811300.2A patent/CN105389170A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729885A (zh) * | 2014-01-21 | 2014-04-16 | 北京邮电大学 | 多视角投影与三维注册联合的手绘场景三维建模方法 |
CN104199660A (zh) * | 2014-08-29 | 2014-12-10 | 河海大学 | 水利软件中定制式输出及成果动态显示的方法 |
CN104317600A (zh) * | 2014-10-31 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种可配置的曲线图生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
刘昕: ""基于GDI+的绘图方法研究"", 《硅谷》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025106A (zh) * | 2016-11-02 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种图形绘制方法及装置 |
CN107025106B (zh) * | 2016-11-02 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 一种图形绘制方法及装置 |
CN106528027A (zh) * | 2016-11-28 | 2017-03-22 | 合网络技术(北京)有限公司 | 数据展示方法及装置 |
CN107092454A (zh) * | 2017-03-06 | 2017-08-25 | 北京航空航天大学 | 一种基于vc的光纤光栅波长数据实时绘图显示的方法 |
CN109254976A (zh) * | 2017-07-11 | 2019-01-22 | 中国移动通信集团北京有限公司 | 一种图形的绘制方法、装置、电子设备及存储介质 |
CN107463654A (zh) * | 2017-07-27 | 2017-12-12 | 武汉票据交易中心有限公司 | 一种图表数据更新绘制方法和装置 |
CN108062372A (zh) * | 2017-12-12 | 2018-05-22 | 北京百度网讯科技有限公司 | 基于人工智能的图像生成方法和装置 |
CN110263310A (zh) * | 2019-05-15 | 2019-09-20 | 平安科技(深圳)有限公司 | 数据图生成方法、装置及计算机可读存储介质 |
CN110263310B (zh) * | 2019-05-15 | 2024-05-10 | 平安科技(深圳)有限公司 | 数据图生成方法、装置及计算机可读存储介质 |
CN110956676A (zh) * | 2019-11-15 | 2020-04-03 | 度亘激光技术(苏州)有限公司 | 一种多轴曲线的绘制方法、装置及电子设备 |
CN111367614A (zh) * | 2020-03-30 | 2020-07-03 | 上海航天计算机技术研究所 | 测试数据曲线显示处理系统 |
CN113658293A (zh) * | 2021-07-29 | 2021-11-16 | 北京奇艺世纪科技有限公司 | 图片绘制方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389170A (zh) | 一种绘图方法及系统 | |
US8549423B2 (en) | Linking and managing mathematical objects | |
KR101794373B1 (ko) | 선택된 데이터의 일시적인 포맷팅 및 도표화 기법 | |
JP2975863B2 (ja) | 文書作成装置 | |
US20040261012A1 (en) | Snaplines for control object positioning | |
JP2617552B2 (ja) | パラメトリック設計図作成方法およびシステム | |
CN1022590C (zh) | 应用程序与变换程序的链接方法 | |
CN106407179A (zh) | 汉字字形相似度计算方法及其系统 | |
CN107577395A (zh) | 基于Qt开发框架的聊天内容显示方法及装置 | |
CN110727969A (zh) | 工作流自动调整方法、装置、设备及存储介质 | |
CN106033334A (zh) | 绘制界面元素的方法和装置 | |
EP3796187A1 (en) | Data normalization and extraction system | |
JPS59149541A (ja) | 処理条件コード生成/設定方式 | |
CN107391015B (zh) | 一种智能平板的控制方法、装置、设备及存储介质 | |
JPH076158A (ja) | 数列の項を解く方法と装置 | |
US8482566B2 (en) | Electronic paper terminal device; computer-readable medium storing image display control program, and image display control method | |
CN108818565A (zh) | 一种写字机械臂写字的控制方法及系统 | |
CN113934876B (zh) | 一种基于Web的作业批改方法、装置及系统 | |
CN112433651B (zh) | 区域识别方法、设备、存储介质及装置 | |
CN112817505A (zh) | 软件信息界面显示方法、装置、存储介质及设备 | |
KR20220107902A (ko) | 렌더링 방법, 장치, 전자 기기 및 저장 매체 | |
US20190317664A1 (en) | Display control apparatus, non-transitory recording medium and display controlling method | |
US20200372190A1 (en) | Figure display method, server and recording medium | |
CN103092596B (zh) | 低级界面开发自动实现界面反转的方法及装置 | |
CN108363779A (zh) | 一种批量AutoCAD文件智能插入块的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160309 |
|
RJ01 | Rejection of invention patent application after publication |