CN113434820B - 图表y轴坐标优化方法、装置、设备及存储介质 - Google Patents
图表y轴坐标优化方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113434820B CN113434820B CN202110705337.2A CN202110705337A CN113434820B CN 113434820 B CN113434820 B CN 113434820B CN 202110705337 A CN202110705337 A CN 202110705337A CN 113434820 B CN113434820 B CN 113434820B
- Authority
- CN
- China
- Prior art keywords
- axis
- value
- scale
- maximum value
- negative half
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Numerical Control (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及大数据处理技术,揭露一种图表Y轴坐标优化方法,包括基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;对第一最大值和第一最小值进行精度调整,得到第二Y轴;根据预设Y轴负半轴刻度个数确定规则,确定第二Y轴中的负半轴刻度数;基于负半轴刻度数,重置第二Y轴的最大值和最小值,得到第三Y轴;基于刻度值计算规则,确定第三Y轴的刻度值;将第三Y轴的刻度值、第三最大值和第三最小值进行精度还原,得到优化的Y轴。本发明还涉及区块链技术,预设Y轴负半轴刻度个数确定规则存储于区块链中。本发明能够解决现有技术中,Y轴刻度分配不均,以及存在数据触顶等问题。
Description
技术领域
本发明涉及大数据处理技术领域,尤其涉及一种图表Y轴坐标优化方法、装置、电子设备及计算机可读存储介质。
背景技术
饼图、直方图、散点图、柱状图等,是最原始的统计图表,它们是数据可视化的最基础和常见应用,也是现代网站常用的展现形式,所以可以在大量网站中见到统计图形。
ECharts是一个使用JavaScript实现的开源可视化库。它提供了常规的折线图、柱状图、散点图、饼图、K线图等统计图形,是我们最常用的实现数据可视化的开源图表库之一。
尽管ECharts很强大,但是在使用过程中会遇到图表Y轴刻度的展示问题,ECharts实现的Y轴刻度展示虽然是自适应的,但是它却没有平均分配,而且数据还会触顶。
发明内容
本发明提供一种图表Y轴坐标优化方法、装置、电子设备及计算机可读存储介质,其主要目的在于能够解决现有技术中,Y轴刻度没有平均分配,而且存在数据触顶等问题。
第一方面,为实现上述目的,本发明提供的一种图表Y轴坐标优化方法,所述方法包括:
基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;其中,所述第一Y轴包括第一最大值和第一最小值;
对所述第一最大值和所述第一最小值进行精度调整处理,使所述第一最大值和所述第一最小值转化为整数,得到第二Y轴;其中,所述第二Y轴包括精度调整处理后的第二最大值和第二最小值;
根据预设Y轴负半轴刻度个数确定规则,确定所述第二Y轴中的负半轴刻度数;
基于所述负半轴刻度数,根据预设重置规则,重置所述第二Y轴的最大值和最小值,得到第三Y轴;其中,所述第三Y轴包括重置后的第三最大值和第三最小值;
基于刻度值计算规则,根据所述第三最大值、所述第三最小值、所述负半轴刻度数和预设Y轴刻度数,确定所述第三Y轴的刻度值;
将所述第三Y轴的刻度值、所述第三最大值和所述第三最小值进行精度还原处理,得到优化的Y轴,其中,所述优化的Y轴包括精度还原后的终极最大值、终极最小值和终极刻度值。
第二方面,为了解决上述问题,本发明还提供一种图表Y轴坐标优化装置,所述装置包括:
最大值扩增模块,用于基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;其中,所述第一Y轴包括第一最大值和第一最小值;
精度调整模块,用于对所述第一最大值和所述第一最小值进行精度调整处理,使所述第一最大值和所述第一最小值转化为整数,得到第二Y轴;其中,所述第二Y轴包括精度调整处理后的第二最大值和第二最小值;
负半轴刻度数确定模块,用于根据预设Y轴负半轴刻度个数确定规则,确定所述第二Y轴中的负半轴刻度数;
重置模块,用于基于所述负半轴刻度数,根据预设重置规则,重置所述第二Y轴的最大值和最小值,得到第三Y轴;其中,所述第三Y轴包括重置后的第三最大值和第三最小值;
刻度值计算模块,用于基于刻度值计算规则,根据所述第三最大值、所述第三最小值、所述负半轴刻度数和预设Y轴刻度数,确定所述第三Y轴的刻度值;
精度还原模块,用于将所述第三Y轴的刻度值、所述第三最大值和所述第三最小值进行精度还原处理,得到优化的Y轴,其中,所述优化的Y轴包括精度还原后的终极最大值、终极最小值和终极刻度值。
第三方面,为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的图表Y轴坐标优化方法的步骤。
第四方面,为了解决上述问题,本发明还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的图表Y轴坐标优化方法。
本发明提出的图表Y轴坐标优化方法、装置、电子设备及存储介质,通过预设最大值扩增值和反复对Y轴的最大值和最小值进行调整,能够有效解决数据触顶和触底的问题,且得到的Y轴为平均分配的Y轴;具有不依赖于别的模块、与主逻辑分离,不影响主逻辑流程,使用时也无需关注方法的具体实现,极大的减少了学习和使用成本;使用时,只需调用该方法计算出最大值和最小值,把最大值和最小值带入echart配置(echart是使用JavaScript实现的开源可视化库,涵盖各行业图表)即可,使用简单。
附图说明
图1为本发明一实施例提供的图表Y轴坐标优化方法的流程示意图;
图2为本发明一实施例提供的图表Y轴坐标优化装置的模块示意图;
图3为本发明一实施例提供的实现图表Y轴坐标优化方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种图表Y轴坐标优化方法。参照图1所示,为本发明一实施例提供的图表Y轴坐标优化方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,图表Y轴坐标优化方法包括:
步骤S110、基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;其中,第一Y轴包括第一最大值和第一最小值。
具体的,在图表制作过程中,一般将原始数据的最大值和最小值直接作为Y轴的最大值和最小值,以此方式形成的图表会出现触顶问题,因此需要把原始数据的最大值扩大处理,为了数据美观,又不能扩的太大,因此,可根据实际需要预设最大值扩增值,例如,预设最大值扩增值取值为初始刻度值的三分之一。由于在图表制作过程中,通常已知或直接设定Y轴的刻度数,所以可根据原始数据的最大值减去最小值后除以已知的或者设定的Y轴的刻度数,计算得到初始刻度值,再取其三分之一作为预设最大值扩增值。
举例如下:假设原始数据的最大值为100,最小值为0,则通过计算公式splitNumber原始=(max原始–min原始)/interval;便可得到初始刻度值,即,(100-0)/5=20,取初始刻度值的三分之一作为预设最大值扩增值为20/3。其中,注:max原始为原始数据的最大值,min原始为原始数据的最小值,interval是预设Y轴的刻度数。
作为本发明的一个可选实施例,基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;其中,第一Y轴包括第一最大值和第一最小值包括:
将从原始数据集中提取的数据最大值和数据最小值分别作为图表原始Y轴的原始最大值和原始最小值;
根据预设最大值扩增值对原始最大值进行扩增处理,得到第一最大值;
将原始最小值作为第一最小值,并与第一最大值形成第一Y轴。
具体的,在数据任务中,用来置信数据任务的工具可选择js的Math对象;可通过js的Math对象循环比对原始数据中的数值,从而从原始数据中获取数据的最大值和数据的最小值。其中,执行方式为:max(x,y)返回x和y中的最大值;min(x,y)返回x和y中的最小值,这是js语言提供的基础对象,可直接使用。
步骤S120、对第一最大值和第一最小值进行精度调整处理,使第一最大值和第一最小值转化为整数,得到第二Y轴;其中,第二Y轴包括精度调整处理后的第二最大值和第二最小值。
具体的,因为小数计算在编程语言,如js语言(一种具有函数优先的轻量级,解释型或即时编译型的编程语言)中会发生精度丢失的问题,例如0.1+0.2=0.30000000000000004,为了避免这个问题,需要把小数转换成整数之后再做后面的计算,小数转换成整数只需要做一个乘法运算,转换公式为:精度调整处理结果=精度调整处理之前的值乘以10的n次方。N为精度调整处理用到的精度(finalPrecisions)。例如精度调整处理之前的值为1.11,精度调整处理用到的精度为2,最后的结果就是1.11乘以10的2次方得到111。其中,数据在精度处理时选取的精度可通过获取原始数据的小数位来确定精度,也可根据实际情况直接设定。当精度为0时,如果第二最大值小于1,重置为1,如果第二最小值大于-1,重置为-1,这样能够使第二Y轴的数据过小时也展示成整数。
作为本发明的一个可选实施例,对第一最大值和第一最小值进行精度调整处理,使第一最大值和第一最小值转化为整数,得到第二Y轴包括:
对原始数据集中的所有数据进行循环处理,获取原始数据集中的所有数据的小数位数,得到数据的小数位数集合;
从数据的小数位数集合中选取数值最大的小数位数作为待用精度;
基于待用精度对第一最大值和第一最小值进行精度调整处理,分别得到第二最大值和第二最小值;
根据第二最大值和第二最小值形成第二Y轴。
具体的,原始数据集中的数据很多,每个数据的精度可能不一样,因此,为了覆盖所有数据,可以选择原始数据集中小数位数最大的作为待用精度;然后基于待用精度对第一最大值和第一最小值进行精度调整处理;例如,原始数据集中的数据有3个数1.1,1.11,1.111;那么最后得到的待用精度为3。
步骤S130、根据预设Y轴负半轴刻度个数确定规则,确定第二Y轴中的负半轴刻度数。
具体的,对于Y轴需要确定出合适的最大值、最小值和刻度值,一般在图表设计时会直接预设Y轴刻度数,但是,若简单的把最大值和最小值平均分,在存在Y轴负半轴的情况下,会出现Y轴刻度的0刻度显示不出来的情况,例如,第二最小值是-10,第二最大值是50,预设Y轴刻度数为5,平分后第二Y轴的刻度值是(50+10)/5=12,所以第二Y轴展示的刻度值是[-10,2,14,26,38,50],可以发现其中没有0刻度。因此,需要对第二Y轴的负半轴和正半轴分开处理,最终得到合适的最大值、最小值和刻度值。
作为本发明的一个可选实施例,预设Y轴负半轴刻度个数确定规则存储于区块链中,预设Y轴负半轴刻度个数确定规则包括:
当第二最大值为0,第二最小值小于0时,第二Y轴中的负半轴的刻度数等于所述预设Y轴刻度数;
当第二最大值大于等于0,第二最小值为0时,第二Y轴中的负半轴的刻度数等于0;
当第二最大值大于0,第二最小值小于0时,通过预设负半轴的刻度数计算公式计算得到第二Y轴中的负半轴的刻度数;其中,预设负半轴的刻度数计算公式为:
N=(Math.floor(Math.abs(min/((max–min)/interval))),其中,N为第二Y轴中的负半轴的刻度数,max为第二最大值,min为第二最小值,interval为预设Y轴刻度数,Math.abs为绝对值符号,Math.floor为向下取整符号;
当通过预设负半轴的刻度数计算公式计算得到第二Y轴中的负半轴的刻度数为0时,取1作为第二Y轴中的负半轴的刻度数。
具体的,根据正半轴和负半轴的存在情况,第二Y轴的形式可分为四种情况,第一种情况,第二Y轴只存在负半轴,此时,预设Y轴刻度数即为第二Y轴中的负半轴的刻度数;第二种情况为正半轴和负半轴都没有刻度数,即X轴,第三种情况为只存在正半轴,没有负半轴;第二种和第三种情况下,负半轴都不存在,因此,第二Y轴中的负半轴的刻度数为0;第四种情况为,第二Y轴存在正半轴也存在负半轴,此时,通过第二Y轴上的第二最小值、第二最大值以及预设Y轴刻度数根据预设负半轴的刻度数计算公式计算得到第二Y轴中的负半轴的刻度数。
步骤S140、基于负半轴刻度数,根据预设重置规则,重置第二Y轴的最大值和最小值,得到第三Y轴;其中,第三Y轴包括重置后的第三最大值和第三最小值。
具体的,确定了负半轴刻度数,负半轴的刻度数有两种情况一种为0,另一种不为0,当负半轴的刻度数为0时,即只有正半轴没有负半轴;第二种情况当负半轴的刻度数不为0时,此时存在负半轴,为了确保数据形成的图像的最大值和最小值不触顶和触底因此根据预设重置规则对第二Y轴的最大值和最小值进行重置,从而得到由第三最大值和第三最小值形成的第三Y轴。
作为本发明的一个可选实施例,预设重置规则为:
当负半轴刻度数为0时,重置第二Y轴的最小值为0,将0作为第三最小值,根据预设最大值重置倍数,对第二最大值进行倍数扩增处理,得到第三最大值;
当负半轴刻度数不为0时,基于预设负半轴扩增值对第二Y轴的最小值进行重置处理,得到第三最小值;并根据第三最小值和负半轴刻度数及预设Y轴刻度数计算得到第三最大值。
具体的,当负半轴刻度数为0时,即只存在正半轴,不存在负半轴,此时,为了避免由于图表原始Y轴的最大值数据过小,预设最大值扩增值过小无法避免触顶,因此,通过预设最大值重置倍数进一步对第二最大值进行倍数扩增,从而得到第三最大值;其中,预设最大值重置倍数可根据实际经验设定,例如1.1;当预设最大值重置倍数为1.1时,只需要将第二最大值乘以1.1倍即可得到第三最大值。
当负半轴刻度数不为0时,为了避免触底,需要对负半轴进行扩增,可通过预设负半轴扩增值对第二Y轴的最小值进行重置,从而得到重置后的第三最小值。其中,预设负半轴扩增值可根据实际经验设定,例如,将预设负半轴扩增值设定为以下公式:
IMin2-(negativeInterval+IMin%negativeInterval),其中,IMin2为第二最小值,negativeInterval为负半轴刻度数,IMin2%negativeInterval为第二最小值除以负半轴刻度数的余数。然后根据负半轴刻度数第三最小值计算得到负半轴上的第一刻度值,再根据预设Y轴刻度数和负半轴刻度数得到正半轴的刻度数,由于正负半轴上的刻度值是相同的,因此,根据第一刻度值和正半轴的刻度数计算得到第三最大值。
步骤S150、基于刻度值计算规则,根据第三最大值、第三最小值、负半轴刻度数和预设Y轴刻度数,确定第三Y轴的刻度值。
具体的,根据负半轴的刻度数和预设Y轴刻度数可以得到第三Y轴的正半轴的刻度数,根据刻度值计算规则对于有无负半轴和负半轴的刻度数为1等特殊情况进行分情况处理,从而确定第三Y轴的刻度值。
作为本发明的一个可选实施例,基于刻度值计算规则,根据第三最大值、第三最小值、负半轴刻度数和预设Y轴刻度数,确定第三Y轴的刻度值包括:
基于基础刻度值计算规则,根据第三最大值、第三最小值、负半轴的刻度数和预设Y轴刻度数计算得到基础刻度值;其中,基础刻度值计算规则包括:
当负半轴的刻度数为0时,基于第一基础刻度值计算公式得到第一基础刻度值;其中,第一基础刻度值计算公式为:
splitNumber1=((interval-Imax%interval+Imax)/interval),
其中,splitNumber1为第一基础刻度值,interval为预设Y轴刻度数,Imax为第三最大值,Imax%interval为第三最大值除以预设Y轴刻度数的余数;
当负半轴的刻度数为1时,若第三最小值的绝对值小于第三Y轴的正半轴的刻度值时,第二基础刻度值为第三Y轴的正半轴的刻度值向下取整,若第三最小值的绝对值大于等于第三Y轴的正半轴的刻度值时,第三基础刻度值为第三最小值的绝对值;其中,第三Y轴的正半轴的刻度值=Imax/(interval–inegativeInterval),其中,
Imax为第三最大值,interval为预设Y轴刻度数,inegativeInterval为负半轴的刻度数;
当负半轴的刻度数大于1时,基于第四基础刻度值计算公式得到第四基础刻度值;其中,第四基础刻度值计算公式为:
splitNumber4=Math.abs((temMin/negativeInterval)-(interval+(temMin/negativeInterval)%interval))
其中,splitNumber4为第四基础刻度值,temMin为第三最小值,negativeInterval为负半轴的刻度数,interval为预设Y轴刻度数,Math.abs为绝对值符号;
根据基础刻度值和负半轴的刻度数和预设Y轴刻度数重新确定第三Y轴的最大值,得到第四最大值;
基于第四最大值与所述第三最大值的比较结果,根据刻度值计算规则,确定第三Y轴的刻度值;其中,刻度值计算规则包括:
当第四最大值小于第三最大值时,第三Y轴上的刻度值等于第三最大值除以第三Y轴的正半轴的刻度数再向下取整数,其中,正半轴的刻度数等于预设Y轴刻度数减去所述负半轴的刻度数;
当第四最大值大于等于第三最大值时,第三Y轴上的刻度值等于基础刻度值。
具体的,由于在第三Y轴的最大值和最小值计算过程中多次采用向下取整的方式,因此为了避免数据的丢失,需要先进行基础刻度值计算,然后根据基础刻度值重新得到第四最大值,再基于两者的比较结果,根据刻度值计算规则得到符合要求的第三Y轴上的刻度值,其中,向下取整数是指保留整数舍弃小数,例如,1.1向下取整数为1;-1.5向下取整数为-2。
步骤S160、将第三Y轴的刻度值、第三最大值和第三最小值进行精度还原处理,得到优化的Y轴,其中,优化的Y轴包括精度还原后的终极最大值、终极最小值和终极刻度值。
具体的,通过一系列计算后得到了第三最大值和第三最小值,这个时候的值是整数,而原始数据可能是整数也可能是小数,所以需要把第三最大值和第三最小值以及第三Y轴的刻度值转换回最初的精度。精度转化公式为数值精度转化后的结果=数值精度转化前除以10的n次方。n为步骤2中精度调整处理中使用的精度。例如,数值是111,精度是2,转化还原为小数的过程就是111除以10的2次方,得到1.11。
作为本发明的一个可选实施例,将第三Y轴的刻度值、第三最大值和第三最小值进行精度还原处理,得到优化的Y轴包括:
将第三Y轴的刻度值、第三最大值和第三最小值分别代入预设美化区间中,进行美化计算处理,得到美化后的第三Y轴的刻度值、美化后的第三最大值和美化后的第三最小值;
将美化后的第三Y轴的刻度值、美化后的第三最大值和美化后的第三最小值进行精度还原处理,得到优化的Y轴。
具体的,计算出的第三最大值和第三最小值可能会是122,123这样的数,而希望的数据是以0或者5来当个位数,比如125,130,这就需要对刻度值(finalSplitNumber)做美化处理,让刻度值(finalSplitNumber)扩大n倍依然能被5整除,例如,首先预设三个区间值0,0.5和1,带入这三个区间值去计算得出三个新的刻度值,判断刻度值(finalSplitNumber)在哪个区间,最终的刻度值就取通过这个区间值参数计算得到的刻度值,再根据这个新的刻度值,重新计算最大值(FMax)和最小值(fianlMin)。举例如下:对于一个刻度值为13,则将13分别代入预设美化区间0、0.5、1中,提取13的最高位的数是十位上的数字1,然后在分别与区间值的端值相乘最后恢复最高位数。13美化后的(1+0)*10=10,(1+0.5)*10=15,(1+1)*10=20,然后再将原数值与得到的区间值进行比对,取区间值的最大值即15。
如图2所示,是本发明一个实施例的图表Y轴坐标优化装置的功能模块图。
本发明所述图表Y轴坐标优化装置200可以安装于电子设备中。根据实现的功能,所述图表Y轴坐标优化装置可以包括最大值扩增模块210、精度调整模块220、负半轴刻度数确定模块230、重置模块240、刻度值计算模块250、精度还原模块260。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
最大值扩增模块210,用于基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;其中,第一Y轴包括第一最大值和第一最小值。
具体的,在图表制作过程中,一般将原始数据的最大值和最小值直接作为Y轴的最大值和最小值,以此方式形成的图表会出现触顶问题,因此需要把原始数据的最大值扩大处理,为了数据美观,又不能扩的太大,因此,可根据实际需要预设最大值扩增值,例如,预设最大值扩增值取值为初始刻度值的三分之一。由于在图表制作过程中,通常已知或直接设定Y轴的刻度数,所以可根据原始数据的最大值减去最小值后除以已知的或者设定的Y轴的刻度数,计算得到初始刻度值,再取其三分之一作为预设最大值扩增值。
举例如下:假设原始数据的最大值为100,最小值为0,则通过计算公式splitNumber原始=(max原始–min原始)/interval;便可得到初始刻度值,即,(100-0)/5=20,取初始刻度值的三分之一作为预设最大值扩增值为20/3。其中,注:max原始为原始数据的最大值,min原始为原始数据的最小值,interval是预设Y轴的刻度数。
作为本发明的一个可选实施例,基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;其中,第一Y轴包括第一最大值和第一最小值包括:
将从原始数据集中提取的数据最大值和数据最小值分别作为图表原始Y轴的原始最大值和原始最小值;
根据预设最大值扩增值对原始最大值进行扩增处理,得到第一最大值;
将原始最小值作为第一最小值,并与第一最大值形成第一Y轴。
具体的,在数据任务中,用来置信数据任务的工具可选择js的Math对象;可通过js的Math对象循环比对原始数据中的数值,从而从原始数据中获取数据的最大值和数据的最小值。其中,执行方式为:max(x,y)返回x和y中的最大值;min(x,y)返回x和y中的最小值,这是js语言提供的基础对象,可直接使用。
精度调整模块220,用于对第一最大值和第一最小值进行精度调整处理,使第一最大值和第一最小值转化为整数,得到第二Y轴;其中,第二Y轴包括精度调整处理后的第二最大值和第二最小值。
具体的,因为小数计算在编程语言,如js语言(一种具有函数优先的轻量级,解释型或即时编译型的编程语言)中会发生精度丢失的问题,例如0.1+0.2=0.30000000000000004,为了避免这个问题,需要把小数转换成整数之后再做后面的计算,小数转换成整数只需要做一个乘法运算,转换公式为:精度调整处理结果=精度调整处理之前的值乘以10的n次方。N为精度调整处理用到的精度(finalPrecisions)。例如精度调整处理之前的值为1.11,精度调整处理用到的精度为2,最后的结果就是1.11乘以10的2次方得到111。其中,数据在精度处理时选取的精度可通过获取原始数据的小数位来确定精度,也可根据实际情况直接设定。当精度为0时,如果第二最大值小于1,重置为1,如果第二最小值大于-1,重置为-1,这样能够使第二Y轴的数据过小时也展示成整数。
作为本发明的一个可选实施例,对第一最大值和第一最小值进行精度调整处理,使第一最大值和第一最小值转化为整数,得到第二Y轴包括:
对原始数据集中的所有数据进行循环处理,获取原始数据集中的所有数据的小数位数,得到数据的小数位数集合;
从数据的小数位数集合中选取数值最大的小数位数作为待用精度;
基于待用精度对第一最大值和第一最小值进行精度调整处理,分别得到第二最大值和第二最小值;
根据第二最大值和第二最小值形成第二Y轴。
具体的,原始数据集中的数据很多,每个数据的精度可能不一样,因此,为了覆盖所有数据,可以选择原始数据集中小数位数最大的作为待用精度;然后基于待用精度对第一最大值和第一最小值进行精度调整处理;例如,原始数据集中的数据有3个数1.1,1.11,1.111;那么最后得到的待用精度为3。
负半轴刻度数确定模块230,用于根据预设Y轴负半轴刻度个数确定规则,确定第二Y轴中的负半轴刻度数。
具体的,对于Y轴需要确定出合适的最大值、最小值和刻度值,一般在图表设计时会直接预设Y轴刻度数,但是,若简单的把最大值和最小值平均分,在存在Y轴负半轴的情况下,会出现Y轴刻度的0刻度显示不出来的情况,例如,第二最小值是-10,第二最大值是50,预设Y轴刻度数为5,平分后第二Y轴的刻度值是(50+10)/5=12,所以第二Y轴展示的刻度值是[-10,2,14,26,38,50],可以发现其中没有0刻度。因此,需要对第二Y轴的负半轴和正半轴分开处理,最终得到合适的最大值、最小值和刻度值。
作为本发明的一个可选实施例,预设Y轴负半轴刻度个数确定规则存储于区块链中,预设Y轴负半轴刻度个数确定规则包括:
当第二最大值为0,第二最小值小于0时,第二Y轴中的负半轴的刻度数等于所述预设Y轴刻度数;
当第二最大值大于等于0,第二最小值为0时,第二Y轴中的负半轴的刻度数等于0;
当第二最大值大于0,第二最小值小于0时,通过预设负半轴的刻度数计算公式计算得到第二Y轴中的负半轴的刻度数;其中,预设负半轴的刻度数计算公式为:
N=(Math.floor(Math.abs(min/((max–min)/interval))),其中,N为第二Y轴中的负半轴的刻度数,max为第二最大值,min为第二最小值,interval为预设Y轴刻度数,Math.abs为绝对值符号,Math.floor为向下取整符号;
当通过预设负半轴的刻度数计算公式计算得到第二Y轴中的负半轴的刻度数为0时,取1作为第二Y轴中的负半轴的刻度数。
具体的,根据正半轴和负半轴的存在情况,第二Y轴的形式可分为四种情况,第一种情况,第二Y轴只存在负半轴,此时,预设Y轴刻度数即为第二Y轴中的负半轴的刻度数;第二种情况为正半轴和负半轴都没有刻度数,即X轴,第三种情况为只存在正半轴,没有负半轴;第二种和第三种情况下,负半轴都不存在,因此,第二Y轴中的负半轴的刻度数为0;第四种情况为,第二Y轴存在正半轴也存在负半轴,此时,通过第二Y轴上的第二最小值、第二最大值以及预设Y轴刻度数根据预设负半轴的刻度数计算公式计算得到第二Y轴中的负半轴的刻度数。
重置模块240,用于基于负半轴刻度数,根据预设重置规则,重置第二Y轴的最大值和最小值,得到第三Y轴;其中,第三Y轴包括重置后的第三最大值和第三最小值。
具体的,确定了负半轴刻度数,负半轴的刻度数有两种情况一种为0,另一种不为0,当负半轴的刻度数为0时,即只有正半轴没有负半轴;第二种情况当负半轴的刻度数不为0时,此时存在负半轴,为了确保数据形成的图像的最大值和最小值不触顶和触底因此根据预设重置规则对第二Y轴的最大值和最小值进行重置,从而得到由第三最大值和第三最小值形成的第三Y轴。
作为本发明的一个可选实施例,预设重置规则为:
当负半轴刻度数为0时,重置第二Y轴的最小值为0,将0作为第三最小值,根据预设最大值重置倍数,对第二最大值进行倍数扩增处理,得到第三最大值;
当负半轴刻度数不为0时,基于预设负半轴扩增值对第二Y轴的最小值进行重置处理,得到第三最小值;并根据第三最小值和负半轴刻度数及预设Y轴刻度数计算得到第三最大值。
具体的,当负半轴刻度数为0时,即只存在正半轴,不存在负半轴,此时,为了避免由于图表原始Y轴的最大值数据过小,预设最大值扩增值过小无法避免触顶,因此,通过预设最大值重置倍数进一步对第二最大值进行倍数扩增,从而得到第三最大值;其中,预设最大值重置倍数可根据实际经验设定,例如1.1;当预设最大值重置倍数为1.1时,只需要将第二最大值乘以1.1倍即可得到第三最大值。
当负半轴刻度数不为0时,为了避免触底,需要对负半轴进行扩增,可通过预设负半轴扩增值对第二Y轴的最小值进行重置,从而得到重置后的第三最小值。其中,预设负半轴扩增值可根据实际经验设定,例如,将预设负半轴扩增值设定为以下公式:
IMin2-(negativeInterval+IMin%negativeInterval),其中,IMin2为第二最小值,negativeInterval为负半轴刻度数,IMin2%negativeInterval为第二最小值除以负半轴刻度数的余数。然后根据负半轴刻度数第三最小值计算得到负半轴上的第一刻度值,再根据预设Y轴刻度数和负半轴刻度数得到正半轴的刻度数,由于正负半轴上的刻度值是相同的,因此,根据第一刻度值和正半轴的刻度数计算得到第三最大值。
刻度值计算模块250,用于基于刻度值计算规则,根据第三最大值、第三最小值、负半轴刻度数和预设Y轴刻度数,确定第三Y轴的刻度值。
具体的,根据负半轴的刻度数和预设Y轴刻度数可以得到第三Y轴的正半轴的刻度数,根据刻度值计算规则对于有无负半轴和负半轴的刻度数为1等特殊情况进行分情况处理,从而确定第三Y轴的刻度值。
作为本发明的一个可选实施例,基于刻度值计算规则,根据第三最大值、第三最小值、负半轴刻度数和预设Y轴刻度数,确定第三Y轴的刻度值包括:
基于基础刻度值计算规则,根据第三最大值、第三最小值、负半轴的刻度数和预设Y轴刻度数计算得到基础刻度值;其中,基础刻度值计算规则包括:
当负半轴的刻度数为0时,基于第一基础刻度值计算公式得到第一基础刻度值;其中,第一基础刻度值计算公式为:
splitNumber1=((interval-Imax%interval+Imax)/interval),
其中,splitNumber1为第一基础刻度值,interval为预设Y轴刻度数,Imax为第三最大值,Imax%interval为第三最大值除以预设Y轴刻度数的余数;
当负半轴的刻度数为1时,若第三最小值的绝对值小于第三Y轴的正半轴的刻度值时,第二基础刻度值为第三Y轴的正半轴的刻度值向下取整,若第三最小值的绝对值大于等于第三Y轴的正半轴的刻度值时,第三基础刻度值为第三最小值的绝对值;其中,第三Y轴的正半轴的刻度值=Imax/(interval–inegativeInterval),其中,
Imax为第三最大值,interval为预设Y轴刻度数,inegativeInterval为负半轴的刻度数;
当负半轴的刻度数大于1时,基于第四基础刻度值计算公式得到第四基础刻度值;其中,第四基础刻度值计算公式为:
splitNumber4=Math.abs((temMin/negativeInterval)-(interval+(temMin/negativeInterval)%interval))
其中,splitNumber4为第四基础刻度值,temMin为第三最小值,negativeInterval为负半轴的刻度数,interval为预设Y轴刻度数,Math.abs为绝对值符号;
根据基础刻度值和负半轴的刻度数和预设Y轴刻度数重新确定第三Y轴的最大值,得到第四最大值;
基于第四最大值与所述第三最大值的比较结果,根据刻度值计算规则,确定第三Y轴的刻度值;其中,刻度值计算规则包括:
当第四最大值小于第三最大值时,第三Y轴上的刻度值等于第三最大值除以第三Y轴的正半轴的刻度数再向下取整数,其中,正半轴的刻度数等于预设Y轴刻度数减去所述负半轴的刻度数;
当第四最大值大于等于第三最大值时,第三Y轴上的刻度值等于基础刻度值。
具体的,由于在第三Y轴的最大值和最小值计算过程中多次采用向下取整的方式,因此为了避免数据的丢失,需要先进行基础刻度值计算,然后根据基础刻度值重新得到第四最大值,再基于两者的比较结果,根据刻度值计算规则得到符合要求的第三Y轴上的刻度值,其中,向下取整数是指保留整数舍弃小数,例如,1.1向下取整数为1;-1.5向下取整数为-2。
精度还原模块260用于将第三Y轴的刻度值、第三最大值和第三最小值进行精度还原处理,得到优化的Y轴,其中,优化的Y轴包括精度还原后的终极最大值、终极最小值和终极刻度值。
具体的,通过一系列计算后得到了第三最大值和第三最小值,这个时候的值是整数,而原始数据可能是整数也可能是小数,所以需要把第三最大值和第三最小值以及第三Y轴的刻度值转换回最初的精度。精度转化公式为数值精度转化后的结果=数值精度转化前除以10的n次方。n为步骤2中精度调整处理中使用的精度。例如,数值是111,精度是2,转化还原为小数的过程就是111除以10的2次方,得到1.11。
作为本发明的一个可选实施例,将第三Y轴的刻度值、第三最大值和第三最小值进行精度还原处理,得到优化的Y轴包括:
将第三Y轴的刻度值、第三最大值和第三最小值分别代入预设美化区间中,进行美化计算处理,得到美化后的第三Y轴的刻度值、美化后的第三最大值和美化后的第三最小值;
将美化后的第三Y轴的刻度值、美化后的第三最大值和美化后的第三最小值进行精度还原处理,得到优化的Y轴。
具体的,计算出的第三最大值和第三最小值可能会是122,123这样的数,而希望的数据是以0或者5来当个位数,比如125,130,这就需要对刻度值(finalSplitNumber)做美化处理,让刻度值(finalSplitNumber)扩大n倍依然能被5整除,例如,首先预设三个区间值0,0.5和1,带入这三个区间值去计算得出三个新的刻度值,判断刻度值(finalSplitNumber)在哪个区间,最终的刻度值就取通过这个区间值参数计算得到的刻度值,再根据这个新的刻度值,重新计算最大值(FMax)和最小值(fianlMin)。举例如下:对于一个刻度值为13,则将13分别代入预设美化区间0、0.5、1中,提取13的最高位的数是十位上的数字1,然后在分别与区间值的端值相乘最后恢复最高位数。13美化后的(1+0)*10=10,(1+0.5)*10=15,(1+1)*10=20,然后再将原数值与得到的区间值进行比对,取区间值的最大值即15。
如图3所示,是本发明一个实施例实现图表Y轴坐标优化方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如图表Y轴坐标优化程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如图表Y轴坐标优化程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如图表Y轴坐标优化程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的图表Y轴坐标优化程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;其中,第一Y轴包括第一最大值和第一最小值;
对第一最大值和第一最小值进行精度调整处理,使第一最大值和第一最小值转化为整数,得到第二Y轴;其中,第二Y轴包括精度调整处理后的第二最大值和第二最小值;
根据预设Y轴负半轴刻度个数确定规则,确定第二Y轴中的负半轴刻度数;
基于负半轴刻度数,根据预设重置规则,重置第二Y轴的最大值和最小值,得到第三Y轴;其中,第三Y轴包括重置后的第三最大值和第三最小值;
基于刻度值计算规则,根据第三最大值、第三最小值、负半轴刻度数和预设Y轴刻度数,确定第三Y轴的刻度值;
将第三Y轴的刻度值、第三最大值和第三最小值进行精度还原处理,得到优化的Y轴,其中,优化的Y轴包括精度还原后的终极最大值、终极最小值和终极刻度值。
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。需要强调的是,为进一步保证上述所述预设Y轴负半轴刻度个数确定规则的私密和安全性,上述预设Y轴负半轴刻度个数确定规则还可以存储于一区块链的节点中。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种图表Y轴坐标优化方法,应用于电子装置,其特征在于,所述方法包括:
基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;其中,所述第一Y轴包括第一最大值和第一最小值;
对所述第一最大值和所述第一最小值进行精度调整处理,使所述第一最大值和所述第一最小值转化为整数,得到第二Y轴;其中,所述第二Y轴包括精度调整处理后的第二最大值和第二最小值;
根据预设Y轴负半轴刻度个数确定规则,确定所述第二Y轴中的负半轴刻度数;其中,所述预设Y轴负半轴刻度个数确定规则包括:
当所述第二最大值为0,所述第二最小值小于0时,所述第二Y轴中的负半轴的刻度数等于所述预设Y轴刻度数;
当所述第二最大值大于等于0,所述第二最小值为0时,所述第二Y轴中的负半轴的刻度数等于0;
当所述第二最大值大于0,所述第二最小值小于0时,通过预设负半轴的刻度数计算公式计算得到所述第二Y轴中的负半轴的刻度数;其中,所述预设负半轴的刻度数计算公式为:
N=(Math.floor(Math.abs(min/((max–min)/interval))),其中,N为第二Y轴中的负半轴的刻度数,max为第二最大值,min为第二最小值,interval为预设Y轴刻度数,Math.abs为绝对值符号,Math.floor为向下取整符号;
当通过所述预设负半轴的刻度数计算公式计算得到所述第二Y轴中的负半轴的刻度数为0时,取1作为所述第二Y轴中的负半轴的刻度数;
基于所述负半轴刻度数,根据预设重置规则,重置所述第二Y轴的最大值和最小值,得到第三Y轴;其中,所述第三Y轴包括重置后的第三最大值和第三最小值;
基于刻度值计算规则,根据所述第三最大值、所述第三最小值、所述负半轴刻度数和预设Y轴刻度数,确定所述第三Y轴的刻度值;
将所述第三Y轴的刻度值、所述第三最大值和所述第三最小值进行精度还原处理,得到优化的Y轴,其中,所述优化的Y轴包括精度还原后的终极最大值、终极最小值和终极刻度值。
2.根据权利要求1所述的图表Y轴坐标优化方法,其特征在于,所述基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;其中,所述第一Y轴包括第一最大值和第一最小值包括:
将从原始数据集中提取的数据最大值和数据最小值分别作为所述图表原始Y轴的原始最大值和原始最小值;
根据预设最大值扩增值对所述原始最大值进行扩增处理,得到第一最大值;
将所述原始最小值作为第一最小值,并与所述第一最大值形成第一Y轴。
3.根据权利要求1所述的图表Y轴坐标优化方法,其特征在于,所述对所述第一最大值和所述第一最小值进行精度调整处理,使所述第一最大值和所述第一最小值转化为整数,得到第二Y轴包括:
对原始数据集中的所有数据进行循环处理,获取所述原始数据集中的所有数据的小数位数,得到数据的小数位数集合;
从所述数据的小数位数集合中选取数值最大的小数位数作为待用精度;
基于所述待用精度对所述第一最大值和所述第一最小值进行精度调整处理,分别得到第二最大值和第二最小值;
根据所述第二最大值和所述第二最小值形成第二Y轴。
4.根据权利要求1所述的图表Y轴坐标优化方法,其特征在于,所述预设Y轴负半轴刻度个数确定规则存储于区块链中。
5.根据权利要求1所述的图表Y轴坐标优化方法,其特征在于,所述预设重置规则为:
当所述负半轴刻度数为0时,重置所述第二Y轴的最小值为0,将0作为第三最小值,根据预设最大值重置倍数,对所述第二最大值进行倍数扩增处理,得到第三最大值;
当所述负半轴刻度数不为0时,基于预设负半轴扩增值对所述第二Y轴的最小值进行重置处理,得到第三最小值;并根据所述第三最小值和所述负半轴刻度数及所述预设Y轴刻度数计算得到第三最大值。
6.根据权利要求1所述的图表Y轴坐标优化方法,其特征在于,所述基于刻度值计算规则,根据所述第三最大值、所述第三最小值、所述负半轴刻度数和预设Y轴刻度数,确定所述第三Y轴的刻度值包括:
基于基础刻度值计算规则,根据所述第三最大值、所述第三最小值、所述负半轴的刻度数和所述预设Y轴刻度数计算得到基础刻度值;其中,所述基础刻度值计算规则包括:
当所述负半轴的刻度数为0时,基于第一基础刻度值计算公式得到第一基础刻度值;其中,所述第一基础刻度值计算公式为:
splitNumber1=((interval-Imax%interval+Imax)/interval),
其中,splitNumber1为第一基础刻度值,interval为预设Y轴刻度数,Imax为第三最大值,Imax%interval为第三最大值除以预设Y轴刻度数的余数;
当所述负半轴的刻度数为1时,若所述第三最小值的绝对值小于所述第三Y轴的正半轴的刻度值时,第二基础刻度值为所述第三Y轴的正半轴的刻度值向下取整,若所述第三最小值的绝对值大于等于所述第三Y轴的正半轴的刻度值时,第三基础刻度值为所述第三最小值的绝对值;其中,所述第三Y轴的正半轴的刻度值=Imax/(interval–inegativeInterval),其中,
所述Imax为第三最大值,interval为预设Y轴刻度数,inegativeInterval为负半轴的刻度数;
当所述负半轴的刻度数大于1时,基于第四基础刻度值计算公式得到第四基础刻度值;其中,所述第四基础刻度值计算公式为:
splitNumber4=Math.abs((temMin/negativeInterval)-(interval+(tem Min/negativeInterval)%interval))
其中,splitNumber4为第四基础刻度值,temMin为第三最小值,negativeInterval为负半轴的刻度数,interval为预设Y轴刻度数,Math.abs为绝对值符号;
根据所述基础刻度值和所述负半轴的刻度数和所述预设Y轴刻度数重新确定所述第三Y轴的最大值,得到第四最大值;
基于所述第四最大值与所述第三最大值的比较结果,根据所述刻度值计算规则,确定所述第三Y轴的刻度值;其中,所述刻度值计算规则包括:
当所述第四最大值小于所述第三最大值时,所述第三Y轴上的刻度值等于第三最大值除以所述第三Y轴的正半轴的刻度数再向下取整数,其中,所述正半轴的刻度数等于所述预设Y轴刻度数减去所述负半轴的刻度数;
当所述第四最大值大于等于所述第三最大值时,所述第三Y轴上的刻度值等于所述基础刻度值。
7.根据权利要求1所述的图表Y轴坐标优化方法,其特征在于,所述将所述第三Y轴的刻度值、所述第三最大值和所述第三最小值进行精度还原处理,得到优化的Y轴包括:
将所述第三Y轴的刻度值、所述第三最大值和所述第三最小值分别代入预设美化区间中,进行美化计算处理,得到美化后的第三Y轴的刻度值、美化后的第三最大值和美化后的第三最小值;
将所述美化后的第三Y轴的刻度值、所述美化后的第三最大值和所述美化后的第三最小值进行精度还原处理,得到优化的Y轴。
8.一种图表Y轴坐标优化装置,其特征在于,所述装置包括:
最大值扩增模块,用于基于预设最大值扩增值对图表原始Y轴的最大值进行扩增处理,得到第一Y轴;其中,所述第一Y轴包括第一最大值和第一最小值;
精度调整模块,用于对所述第一最大值和所述第一最小值进行精度调整处理,使所述第一最大值和所述第一最小值转化为整数,得到第二Y轴;其中,所述第二Y轴包括精度调整处理后的第二最大值和第二最小值;
负半轴刻度数确定模块,用于根据预设Y轴负半轴刻度个数确定规则,确定所述第二Y轴中的负半轴刻度数;其中,所述预设Y轴负半轴刻度个数确定规则包括:
当所述第二最大值为0,所述第二最小值小于0时,所述第二Y轴中的负半轴的刻度数等于所述预设Y轴刻度数;
当所述第二最大值大于等于0,所述第二最小值为0时,所述第二Y轴中的负半轴的刻度数等于0;
当所述第二最大值大于0,所述第二最小值小于0时,通过预设负半轴的刻度数计算公式计算得到所述第二Y轴中的负半轴的刻度数;其中,所述预设负半轴的刻度数计算公式为:
N=(Math.floor(Math.abs(min/((max–min)/interval))),其中,N为第二Y轴中的负半轴的刻度数,max为第二最大值,min为第二最小值,interval为预设Y轴刻度数,Math.abs为绝对值符号,Math.floor为向下取整符号;
当通过所述预设负半轴的刻度数计算公式计算得到所述第二Y轴中的负半轴的刻度数为0时,取1作为所述第二Y轴中的负半轴的刻度数;
重置模块,用于基于所述负半轴刻度数,根据预设重置规则,重置所述第二Y轴的最大值和最小值,得到第三Y轴;其中,所述第三Y轴包括重置后的第三最大值和第三最小值;
刻度值计算模块,用于基于刻度值计算规则,根据所述第三最大值、所述第三最小值、所述负半轴刻度数和预设Y轴刻度数,确定所述第三Y轴的刻度值;
精度还原模块,用于将所述第三Y轴的刻度值、所述第三最大值和所述第三最小值进行精度还原处理,得到优化的Y轴,其中,所述优化的Y轴包括精度还原后的终极最大值、终极最小值和终极刻度值。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的图表Y轴坐标优化方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一所述的图表Y轴坐标优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110705337.2A CN113434820B (zh) | 2021-06-24 | 2021-06-24 | 图表y轴坐标优化方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110705337.2A CN113434820B (zh) | 2021-06-24 | 2021-06-24 | 图表y轴坐标优化方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113434820A CN113434820A (zh) | 2021-09-24 |
CN113434820B true CN113434820B (zh) | 2022-11-25 |
Family
ID=77754283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110705337.2A Active CN113434820B (zh) | 2021-06-24 | 2021-06-24 | 图表y轴坐标优化方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434820B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0689347A (ja) * | 1992-09-09 | 1994-03-29 | Tohoku Nippon Denki Software Kk | 軸目盛り自動生成方式 |
CN105574094A (zh) * | 2015-12-11 | 2016-05-11 | 深圳安泰创新科技股份有限公司 | 趋势图显示方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3008057B2 (ja) * | 1992-09-30 | 2000-02-14 | オムロン株式会社 | グラフ表示装置 |
JP7008552B2 (ja) * | 2018-03-20 | 2022-01-25 | 日置電機株式会社 | 表示装置およびプログラム |
US10698593B1 (en) * | 2018-10-08 | 2020-06-30 | Tableau Software, Inc. | Symmetric log axis scaling for a data visualization user interface |
CN111553962A (zh) * | 2020-04-02 | 2020-08-18 | 深圳壹账通智能科技有限公司 | 一种图表显示方法、系统及显示设备 |
CN112328346A (zh) * | 2020-11-04 | 2021-02-05 | 支付宝(杭州)信息技术有限公司 | 用于数据处理的方法和装置 |
CN112562039B (zh) * | 2020-12-23 | 2023-08-22 | 平安银行股份有限公司 | 趋势图中的纵轴极值确定方法及确定装置 |
-
2021
- 2021-06-24 CN CN202110705337.2A patent/CN113434820B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0689347A (ja) * | 1992-09-09 | 1994-03-29 | Tohoku Nippon Denki Software Kk | 軸目盛り自動生成方式 |
CN105574094A (zh) * | 2015-12-11 | 2016-05-11 | 深圳安泰创新科技股份有限公司 | 趋势图显示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113434820A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446839B (zh) | 图像增强方法、装置、电子设备及计算机可读存储介质 | |
CN111932534B (zh) | 医学影像图片分析方法、装置、电子设备及可读存储介质 | |
CN111814962A (zh) | 识别模型的参数获取方法、装置、电子设备及存储介质 | |
CN112883042A (zh) | 数据更新及展示方法、装置、电子设备及存储介质 | |
CN108875048B (zh) | 报表生成方法、装置、电子设备及可读存储介质 | |
CN112579621A (zh) | 数据展示方法、装置、电子设备及计算机存储介质 | |
CN113327136A (zh) | 归因分析方法、装置、电子设备及存储介质 | |
CN111932595A (zh) | 图像配准方法、装置、电子设备及存储介质 | |
CN113868528A (zh) | 资讯推荐方法、装置、电子设备及可读存储介质 | |
CN113868529A (zh) | 知识推荐方法、装置、电子设备及可读存储介质 | |
CN113468175B (zh) | 数据压缩方法、装置、电子设备及存储介质 | |
CN112464619B (zh) | 大数据处理方法、装置、设备及计算机可读存储介质 | |
CN112862703B (zh) | 基于移动拍照的图像校正方法、装置、电子设备及介质 | |
CN113434820B (zh) | 图表y轴坐标优化方法、装置、设备及存储介质 | |
CN112948380A (zh) | 基于大数据的数据存储方法、装置、电子设备及存储介质 | |
CN112634410A (zh) | 动画曲线插值器生成方法、装置、电子设备及可读存储介质 | |
CN113705686B (zh) | 图像分类方法、装置、电子设备及可读存储介质 | |
CN114385540A (zh) | 一种数据单位换算方法及装置 | |
WO2022110647A1 (zh) | 风控数据生成方法、装置、设备及计算机可读存储介质 | |
CN114417998A (zh) | 数据特征映射方法、装置、设备及存储介质 | |
CN112561500A (zh) | 基于用户数据的薪酬数据生成方法、装置、设备及介质 | |
CN113486646A (zh) | 产品报告发布方法、装置、电子设备及可读存储介质 | |
CN112233194A (zh) | 医学图片优化方法、装置、设备及计算机可读存储介质 | |
CN113590856B (zh) | 标签查询方法、装置、电子设备及可读存储介质 | |
CN115269945B (zh) | 大数据可视化分析方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |