本發(fā)明的實施方式涉及數(shù)據(jù)處理領(lǐng)域,更具體地,本發(fā)明的實施方式涉及一種用于圖表的數(shù)據(jù)處理方法、系統(tǒng)、介質(zhì)和計算設(shè)備。
背景技術(shù):
本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現(xiàn)有技術(shù)。
在整個數(shù)據(jù)處理與分析領(lǐng)域,圖表繪制與顯示被廣泛應(yīng)用,圖表繪制與顯示的形式也日趨多樣化,比如,柱狀圖、折線圖、曲線圖等多種形式的圖表。
目前,已經(jīng)出現(xiàn)一些專用的圖表繪制工具,用于提供繪制多種形式的圖表并在終端上顯示的服務(wù),然而,在實現(xiàn)本公開構(gòu)思的過程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)中至少存在如下問題:
(1)當(dāng)用戶在界面上設(shè)置了圖表中使用的數(shù)軸上的刻度的數(shù)據(jù)格式之后,最終繪制的圖表可能會由于四舍五入出現(xiàn)不同的數(shù)據(jù)對應(yīng)了相同的刻度,造成干擾,如,1200和1400都對應(yīng)1k,而1600和1800都對應(yīng)2k,導(dǎo)致1200和1400不能區(qū)分,1600和1800也不能區(qū)分,等等。
(2)為了節(jié)省數(shù)軸上數(shù)值標(biāo)簽的顯示空間,圖表中使用的數(shù)軸上的刻度的數(shù)據(jù)格式一般會使用默認格式,這種默認格式通常是根據(jù)數(shù)值本身所在區(qū)間,如1k(一千),1m(一百萬)等設(shè)置的,然而,當(dāng)實際步長過小,小于默認格式下的數(shù)據(jù)單位時,最終繪制的圖表可能會由于兩個刻度之間的數(shù)值變化不足以區(qū)分不同的數(shù)據(jù),導(dǎo)致出現(xiàn)不同的數(shù)據(jù)對應(yīng)了相同的刻度,造成干擾,如,1200和1240都對應(yīng)1.2k,導(dǎo)致1200和1240不能區(qū)分,等等。
針對相關(guān)技術(shù)中的上述問題,目前還未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
但是,出于圖表繪制時數(shù)軸的刻度數(shù)或者顯示格式不當(dāng)?shù)脑颍F(xiàn)有技術(shù)在展示圖表數(shù)據(jù)時,可能不足以區(qū)分不同的數(shù)據(jù),從而將其展示在相同的刻度上。
因此在現(xiàn)有技術(shù)中,將展示在相同刻度上的不同數(shù)據(jù)加以區(qū)分,這是非常令人煩惱的過程。
為此,非常需要一種改進的用于圖表的數(shù)據(jù)處理方法,以使圖表數(shù)據(jù)展示結(jié)果可以明確區(qū)分不同的數(shù)據(jù)。
在本上下文中,本發(fā)明的實施方式期望提供一種改進的用于圖表的數(shù)據(jù)處理方法及其系統(tǒng)。
在本發(fā)明實施方式的第一方面中,提供了一種用于圖表的數(shù)據(jù)處理方法,包括:獲取包含有數(shù)軸的配置信息的圖表配置信息;獲取用于繪制圖表的圖表數(shù)據(jù);根據(jù)上述圖表數(shù)據(jù)對上述數(shù)軸的配置信息進行自適應(yīng)調(diào)整;以及在上述數(shù)軸的配置信息自適應(yīng)調(diào)整完成后,展示上述圖表數(shù)據(jù)。
在本發(fā)明的一個實施例中,根據(jù)上述圖表數(shù)據(jù)對上述數(shù)軸的配置信息進行自適應(yīng)調(diào)整包括:根據(jù)上述圖表數(shù)據(jù),計算實際步長,其中,上述實際步長為上述數(shù)軸上相鄰刻度之間的實際跨度;以及根據(jù)計算得到的上述實際步長對上述數(shù)軸上刻度的個數(shù)或者數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整。
在本發(fā)明的另一實施例中,根據(jù)計算得到的上述實際步長對上述數(shù)軸上刻度的個數(shù)或者數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整包括:根據(jù)上述數(shù)軸的配置信息,確定上述數(shù)軸上刻度的當(dāng)前數(shù)據(jù)顯示格式是否為預(yù)設(shè)格式;以及若是,則根據(jù)計算得到的上述實際步長對上述數(shù)軸上刻度的上述當(dāng)前數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整。
在本發(fā)明的又一實施例中,上述方法還包括:若否,則根據(jù)計算得到的上述實際步長對上述數(shù)軸上刻度的個數(shù)進行自適應(yīng)調(diào)整。
在本發(fā)明的再一實施例中,根據(jù)計算得到的上述實際步長對上述數(shù)軸上刻度的個數(shù)進行自適應(yīng)調(diào)整包括:根據(jù)上述數(shù)軸的配置信息,確定預(yù)設(shè)步長,其中,上述預(yù)設(shè)步長為上述數(shù)軸上相鄰刻度之間的預(yù)設(shè)跨度;判斷上述實際步長是否大于上述預(yù)設(shè)步長;若是,則根據(jù)上述數(shù)軸的取值范圍和上述實際步長進行計算,得到對應(yīng)的刻度個數(shù);以及將上述數(shù)軸上刻度的個數(shù)調(diào)整為上述對應(yīng)的刻度個數(shù)。
在本發(fā)明的再一實施例中,根據(jù)上述圖表數(shù)據(jù),計算實際步長包括:計算上述圖表數(shù)據(jù)中兩兩數(shù)據(jù)之間的差值;確定計算得到的差值的絕對值中的最小值;以及將上述最小值作為上述實際步長。
在本發(fā)明的再一實施例中,獲取包含有數(shù)軸的配置信息的圖表配置信息包括:發(fā)送圖表繪制請求,其中,上述圖表繪制請求用于請求繪制圖表時需要使用的上述圖表配置信息,上述圖表配置信息至少包含上述數(shù)軸的配置信息;以及接收基于上述圖表繪制請求返回的包含有上述數(shù)軸的配置信息的上述圖表配置信息。
在本發(fā)明實施方式的第二方面中,提供了一種介質(zhì),存儲有計算機可執(zhí)行指令,上述指令在被處理單元執(zhí)行時用于實現(xiàn)上述實施例中任一項上述的用于圖表的數(shù)據(jù)處理方法。
在本發(fā)明實施方式的第三方面中,提供了一種用于圖表的數(shù)據(jù)處理系統(tǒng),包括:第一獲取模塊,用于獲取包含有數(shù)軸的配置信息的圖表配置信息;第二獲取模塊,用于獲取用于繪制圖表的圖表數(shù)據(jù);第一調(diào)整模塊,用于根據(jù)上述圖表數(shù)據(jù)對上述數(shù)軸的配置信息進行自適應(yīng)調(diào)整;以及展示模塊,用于在上述數(shù)軸的配置信息自適應(yīng)調(diào)整完成后,展示上述圖表數(shù)據(jù)。
在本發(fā)明的一個實施例中,上述第一調(diào)整模塊包括:第一計算單元,用于根據(jù)上述圖表數(shù)據(jù),計算實際步長,其中,上述實際步長為上述數(shù)軸上相鄰刻度之間的實際跨度;以及第一調(diào)整單元,用于根據(jù)計算得到的上述實際步長對上述數(shù)軸上刻度的個數(shù)或者數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整。
在本發(fā)明的另一實施例中,上述第一調(diào)整單元包括:第一確定子單元,用于根據(jù)上述數(shù)軸的配置信息,確定上述數(shù)軸上刻度的當(dāng)前數(shù)據(jù)顯示格式是否為預(yù)設(shè)格式;以及調(diào)整子單元,用于在是的情況下,根據(jù)計算得到的上述實際步長對上述數(shù)軸上刻度的上述當(dāng)前數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整。
在本發(fā)明的又一實施例中,上述系統(tǒng)還包括:第二調(diào)整模塊,用于在否的情況下,根據(jù)計算得到的上述實際步長對上述數(shù)軸上刻度的個數(shù)進行自適應(yīng)調(diào)整。
在本發(fā)明的再一實施例中,上述第二調(diào)整模塊包括:確定單元,用于根據(jù)上述數(shù)軸的配置信息,確定預(yù)設(shè)步長,其中,上述預(yù)設(shè)步長為上述數(shù)軸上相鄰刻度之間的預(yù)設(shè)跨度;判斷單元,用于判斷上述實際步長是否大于上述預(yù)設(shè)步長;第二計算單元,用于在是的情況下,根據(jù)上述數(shù)軸的取值范圍和上述實際步長進行計算,得到對應(yīng)的刻度個數(shù);以及第二調(diào)整單元,用于將上述數(shù)軸上刻度的個數(shù)調(diào)整為上述對應(yīng)的刻度個數(shù)。
在本發(fā)明的再一實施例中,上述第一計算單元包括:計算子單元,用于計算上述圖表數(shù)據(jù)中兩兩數(shù)據(jù)之間的差值;第二確定子單元,用于確定計算得到的差值的絕對值中的最小值;以及第三確定子單元,用于將上述最小值作為上述實際步長。
在本發(fā)明的再一實施例中,上述第一獲取模塊包括:發(fā)送單元,用于發(fā)送圖表繪制請求,其中,上述圖表繪制請求用于請求繪制圖表時需要使用的上述圖表配置信息,上述圖表配置信息至少包含上述數(shù)軸的配置信息;以及接收單元,用于接收基于上述圖表繪制請求返回的包含有上述數(shù)軸的配置信息的上述圖表配置信息。
在本發(fā)明實施方式的第四方面中,提供了一種計算設(shè)備,包括:處理單元;以及存儲單元,存儲有計算機可執(zhí)行指令,上述指令在被處理單元執(zhí)行時用于實現(xiàn)上述實施例中任一項上述的用于圖表的數(shù)據(jù)處理方法。
根據(jù)本發(fā)明實施方式的用于圖表的數(shù)據(jù)處理及其系統(tǒng),可以在繪制圖表來展示圖表數(shù)據(jù)之前,基于圖表數(shù)據(jù)調(diào)整數(shù)軸的配置信息,使之與當(dāng)前需要在圖表中展示的數(shù)據(jù)相適應(yīng),克服了相關(guān)技術(shù)中顯示圖表數(shù)據(jù)時存在不足以區(qū)分不同的數(shù)據(jù)的缺陷,從而顯著地降低了不同數(shù)據(jù)對應(yīng)相同的刻度的可能性,為用戶帶來了更好的體驗,并且減少了干擾。
附圖說明
通過參考附圖閱讀下文的詳細描述,本發(fā)明示例性實施方式的上述以及其他目的、特征和優(yōu)點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實施方式,其中:
圖1示意性地示出了根據(jù)本發(fā)明實施方式的用于圖表的數(shù)據(jù)處理方法及其系統(tǒng)的應(yīng)用場景;
圖2示意性地示出了根據(jù)本發(fā)明一個實施例的用于圖表的數(shù)據(jù)處理方法的流程圖;
圖3a示意性地示出了根據(jù)本發(fā)明一個實施例的用于圖表的數(shù)據(jù)處理系統(tǒng)的框圖;以及
圖3b示意性地示出了根據(jù)本發(fā)明另一個實施例的用于圖表的數(shù)據(jù)處理系統(tǒng)的框圖;
圖3c示意性地示出了根據(jù)本發(fā)明另一個實施例的用于圖表的數(shù)據(jù)處理系統(tǒng)的框圖;
圖3d示意性地示出了根據(jù)本發(fā)明另一個實施例的用于圖表的數(shù)據(jù)處理系統(tǒng)的框圖;
圖3e示意性地示出了根據(jù)本發(fā)明另一個實施例的用于圖表的數(shù)據(jù)處理系統(tǒng)的框圖;
圖3f示意性地示出了根據(jù)本發(fā)明另一個實施例的用于圖表的數(shù)據(jù)處理系統(tǒng)的框圖;
圖3g示意性地示出了根據(jù)本發(fā)明另一個實施例的用于圖表的數(shù)據(jù)處理系統(tǒng)的框圖;
圖4示意性地示出了根據(jù)本發(fā)明實施方式的計算機可讀存儲介質(zhì)產(chǎn)品的示意圖;以及
圖5示意性地示出了根據(jù)本發(fā)明實施方式的計算設(shè)備的框圖。
在附圖中,相同或?qū)?yīng)的標(biāo)號表示相同或?qū)?yīng)的部分。
具體實施方式
下面將參考若干示例性實施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進而實現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達給本領(lǐng)域的技術(shù)人員。
本領(lǐng)域技術(shù)人員知道,本發(fā)明的實施方式可以實現(xiàn)為一種系統(tǒng)、裝置、設(shè)備、方法或計算機程序產(chǎn)品。因此,本公開可以具體實現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式。
根據(jù)本發(fā)明的實施方式,提出了一種用于圖表的數(shù)據(jù)處理方法、系統(tǒng)、介質(zhì)和計算設(shè)備。
在本文中,需要理解的是,所涉及的術(shù)語主要包括:步長、數(shù)據(jù)格式、像素和刻度密度等。其中,步長表示數(shù)軸上相鄰刻度之間的跨度,如刻度10,刻度20,刻度30,其步長為10。數(shù)據(jù)格式表示數(shù)值在圖表中顯示的格式,如3k(3000)、30.1%(0.301),等等。像素表示組成數(shù)字圖像的基本單元??潭让芏缺硎久款A(yù)設(shè)數(shù)量個單位像素需要顯示的刻度的個數(shù),例如每100個單位像素需要顯示的刻度的個數(shù)。此外,附圖中的任何元素數(shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。
下面參考本發(fā)明的若干代表性實施方式,詳細闡釋本發(fā)明的原理和精神。
發(fā)明概述
在實現(xiàn)本公開構(gòu)思的過程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)中至少存在如下問題:
(1)當(dāng)用戶在圖表繪制界面上設(shè)置了圖表中需要使用的數(shù)軸上的刻度的數(shù)據(jù)格式之后,最終繪制的圖表可能會由于四舍五入出現(xiàn)不同的數(shù)據(jù)對應(yīng)了相同的刻度,造成干擾,如1200和1400都對應(yīng)1k,而1600和1800都對應(yīng)2k,導(dǎo)致1200和1400不能區(qū)分,1600和1800也不能區(qū)分,等等。
(2)為了節(jié)省數(shù)軸上數(shù)值標(biāo)簽的顯示空間,圖表中使用的數(shù)軸上的刻度的數(shù)據(jù)格式一般會使用默認格式,這種默認格式通常是根據(jù)數(shù)值本身所在區(qū)間,如1k(一千),1m(一百萬)等設(shè)置的,然而,當(dāng)實際步長過小,小于默認格式下的數(shù)據(jù)單位時,最終繪制的圖表可能會由于兩個刻度之間的數(shù)值變化不足以區(qū)分不同的數(shù)據(jù),導(dǎo)致出現(xiàn)不同的數(shù)據(jù)對應(yīng)了相同的刻度,造成干擾,如,1200和1240都對應(yīng)1.2k,導(dǎo)致1200和1240不能區(qū)分,等等。
本發(fā)明實施例提供了一種用于圖表的數(shù)據(jù)處理方法及其裝置,該方法包括:獲取包含有數(shù)軸的配置信息的圖表配置信息;獲取用于繪制圖表的圖表數(shù)據(jù);根據(jù)圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整;以及在數(shù)軸的配置信息自適應(yīng)調(diào)整完成后,展示圖表數(shù)據(jù)。由于本發(fā)明可以在繪制圖表來展示圖表數(shù)據(jù)之前,基于圖表數(shù)據(jù)調(diào)整數(shù)軸的配置信息,使之與當(dāng)前需要在圖表中展示的數(shù)據(jù)相適應(yīng),克服了相關(guān)技術(shù)中顯示圖表數(shù)據(jù)時存在不足以區(qū)分不同的數(shù)據(jù)的缺陷,從而顯著地降低了不同數(shù)據(jù)對應(yīng)相同的刻度的可能性,為用戶帶來了更好的體驗,并且減少了干擾。
在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實施方式。
應(yīng)用場景總覽
首先參考圖1詳細闡述本發(fā)明實施例的用于圖表的數(shù)據(jù)處理方法及其系統(tǒng)的應(yīng)用場景。
在整個數(shù)據(jù)處理與分析領(lǐng)域,圖表繪制與顯示被廣泛應(yīng)用,圖表繪制與顯示的形式也日趨多樣化,比如,柱狀圖、折線圖、曲線圖等多種形式的圖表。本發(fā)明實施例的用于圖表的數(shù)據(jù)處理方法及其系統(tǒng)可以用于繪制多種形式的圖表的應(yīng)用場景中,如圖1所示,可用于繪制折線圖。
例如,a、b、c、d對應(yīng)的數(shù)據(jù)分別為1200、1400、1600、1800,在如圖1所示的圖表的數(shù)軸配置下,a、b、c、d分別顯示為1k、1k、2k、2k??梢?,在如圖1所示的圖表,由于數(shù)軸配置不當(dāng),導(dǎo)致a、b無法區(qū)分,c、d也無法區(qū)分。
示例性方法
下面結(jié)合圖1的應(yīng)用場景,參考圖2來描述根據(jù)本發(fā)明示例性實施方式的用于圖表的數(shù)據(jù)處理方法。需要注意的是,上述應(yīng)用場景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實施方式在此方面不受任何限制。相反,本發(fā)明的實施方式可以應(yīng)用于適用的任何場景。
本發(fā)明實施例提供了一種用于圖表的數(shù)據(jù)處理方法。
圖2示意性地示出了根據(jù)本發(fā)明實施方式的用于圖表的數(shù)據(jù)處理方法的流程圖。如圖2所示,該方法可以包括如下操作:
操作s201,獲取包含有數(shù)軸的配置信息的圖表配置信息;
操作s202,獲取用于繪制圖表的圖表數(shù)據(jù);
操作s203,根據(jù)圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整;以及
操作s204,在數(shù)軸的配置信息自適應(yīng)調(diào)整完成后,展示圖表數(shù)據(jù)。
根據(jù)本發(fā)明實施例,圖表配置信息可以包括但不限于:數(shù)軸的配置信息、圖表數(shù)據(jù)的表現(xiàn)形式(如柱狀圖、折線圖、曲線圖等多種形式)等相關(guān)信息。進一步,數(shù)軸的配置信息可以包括但不限于:數(shù)軸上的刻度值、刻度個數(shù)、數(shù)據(jù)顯示格式(又稱為數(shù)據(jù)格式)、數(shù)軸名稱,等等。
對于數(shù)據(jù)格式而言,根據(jù)顯示空間中像素的個數(shù)和合理的刻度密度可以計算數(shù)軸上需要顯示的刻度數(shù)量,進一步,將數(shù)軸的最大值和最小值之間的跨度除以刻度數(shù)量,可以計算出每個刻度的刻度值,當(dāng)圖表數(shù)據(jù)較大時,可以考慮使用k,m,b,百萬,千萬,億等單位(即數(shù)據(jù)格式)以減少空間占用。
為了便于用戶使用,實施時,一般會設(shè)置默認數(shù)據(jù)格式(又稱為默認格式),進一步,為了滿足用戶的實際需求,比如,為了避免將不同的數(shù)據(jù)顯示在相同的刻度上,用戶還可以根據(jù)實際需要設(shè)置數(shù)據(jù)格式,調(diào)整數(shù)軸上刻度的個數(shù)。對應(yīng)的,在根據(jù)圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整時,一般會考慮兩種情況:1,若用戶自行設(shè)置了數(shù)據(jù)格式,則自適應(yīng)調(diào)整時,會考慮調(diào)整軸上刻度的個數(shù);2,若采用默認格式,則自適應(yīng)調(diào)整時,會考慮調(diào)數(shù)據(jù)格式,但保持刻度個數(shù)不變。
通過本發(fā)明實施例,由于可以根據(jù)圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整,并且調(diào)整之后才展示對應(yīng)的圖表數(shù)據(jù),因而能夠根據(jù)實際要展示的圖表數(shù)據(jù)正確合理地分配軸上的刻度或者設(shè)置數(shù)據(jù)格式,使每個刻度可以區(qū)分不同的圖表數(shù)據(jù),保證了可用性和正確性。換言之,本公開實施例可以在繪制圖表來展示圖表數(shù)據(jù)之前,基于圖表數(shù)據(jù)調(diào)整數(shù)軸的配置信息,使之與當(dāng)前需要在圖表中展示的數(shù)據(jù)相適應(yīng),克服了相關(guān)技術(shù)中顯示圖表數(shù)據(jù)時存在不足以區(qū)分不同的數(shù)據(jù)的缺陷,從而顯著地降低了不同數(shù)據(jù)對應(yīng)相同的刻度的可能性,為用戶帶來了更好的體驗,并且減少了干擾。
作為一種可選的實施例,根據(jù)圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整可以包括:根據(jù)圖表數(shù)據(jù),計算實際步長,其中,實際步長為數(shù)軸上相鄰刻度之間的實際跨度;以及根據(jù)計算得到的實際步長對數(shù)軸上刻度的個數(shù)或者數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整。
一般地,為了適應(yīng)顯示空間,圖表渲染引擎會根據(jù)顯示空間的像素個數(shù)及刻度密度(一般為3/100像素)給出數(shù)軸上刻度的個數(shù),此時,預(yù)設(shè)步長=數(shù)軸的取值范圍/刻度個數(shù)。
在用戶設(shè)置了數(shù)據(jù)格式時,在根據(jù)計算得到的實際步長對數(shù)軸上刻度的個數(shù)或者數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整的過程中,如果實際步長大于預(yù)設(shè)步長,則優(yōu)先考慮使用實際步長調(diào)整數(shù)軸上的刻度個數(shù),以保證不會出現(xiàn)重復(fù)的刻度,即保證不會出現(xiàn)不同的圖表數(shù)據(jù)顯示成相同的刻度。此時,刻度個數(shù)=數(shù)軸的取值范圍/實際步長。
例如,對于1200和1240而言,如果用戶設(shè)置的數(shù)據(jù)格式為0.1k,則對應(yīng)的預(yù)設(shè)步長為100,此時,1200和1240的顯示結(jié)果都是1.2k,因而無法區(qū)分1200和1240;而1200和1240的實際步長為40,使用該實際步長重新計算刻度個數(shù)后,1200和1240的顯示結(jié)果分別為1.20k和1.24k,因而能夠區(qū)分1200和1240。
在默認格式的模式下,在根據(jù)計算得到的實際步長對數(shù)軸上刻度的個數(shù)或者數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整的過程中,會直接使用預(yù)設(shè)步長,調(diào)整整個數(shù)軸的數(shù)據(jù)格式,以保證不會出現(xiàn)重復(fù)。根據(jù)實際步長,能夠求得需要用怎樣的數(shù)據(jù)格式才能保證區(qū)分不同的數(shù)據(jù),如1200,1240,1280,這里的步長為40,那么必須精確到十位,也就是k(以千為單位)帶上二位小數(shù)。
通過本發(fā)明實施例,根據(jù)計算得到的實際步長對數(shù)軸上刻度的個數(shù)或者數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整,可以按照實際步長和數(shù)據(jù)格式的相互關(guān)系共同調(diào)整數(shù)軸上刻度的分布/數(shù)據(jù)格式,以及數(shù)據(jù)的顯示方法,達到了兼顧正確性和簡化刻度上數(shù)值的表達的技術(shù)效果。
作為一種可選的實施例,根據(jù)計算得到的實際步長對數(shù)軸上刻度的個數(shù)或者數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整可以包括:根據(jù)數(shù)軸的配置信息,確定數(shù)軸上刻度的當(dāng)前數(shù)據(jù)顯示格式是否為預(yù)設(shè)格式;以及若是,則根據(jù)計算得到的實際步長對數(shù)軸上刻度的當(dāng)前數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整。
此處,預(yù)設(shè)格式即為前述的默認格式。在預(yù)設(shè)格式下,自適應(yīng)調(diào)整時,可以根據(jù)實際步長調(diào)整數(shù)據(jù)格式。其中,基于實際步長調(diào)整數(shù)據(jù)格式的方法與前述實施例中的實施方式相同或類似,在此不再贅述。
作為一種可選的實施例,該方法還可以包括:若否,則根據(jù)計算得到的實際步長對數(shù)軸上刻度的個數(shù)進行自適應(yīng)調(diào)整。
此處,在非預(yù)設(shè)格式下,即,在用戶設(shè)置了數(shù)據(jù)格式的情況下,自適應(yīng)調(diào)整時,可以根據(jù)實際步長調(diào)整刻度個數(shù)。其中,基于實際步長調(diào)整刻度個數(shù)的方法與前述實施例中的實施方式相同或類似,在此不再贅述。
作為一種可選的實施例,根據(jù)計算得到的實際步長對數(shù)軸上刻度的個數(shù)進行自適應(yīng)調(diào)整可以包括:根據(jù)數(shù)軸的配置信息,確定預(yù)設(shè)步長,其中,預(yù)設(shè)步長為數(shù)軸上相鄰刻度之間的預(yù)設(shè)跨度;判斷實際步長是否大于預(yù)設(shè)步長;若是,則根據(jù)數(shù)軸的取值范圍和實際步長進行計算,得到對應(yīng)的刻度個數(shù);以及將數(shù)軸上刻度的個數(shù)調(diào)整為對應(yīng)的刻度個數(shù)。
一般地,為了適應(yīng)顯示空間,圖表渲染引擎會根據(jù)顯示空間的像素個數(shù)及刻度密度(一般為3/100像素)給出數(shù)軸上刻度的個數(shù),此時,預(yù)設(shè)步長=數(shù)軸的取值范圍/刻度個數(shù)。
如果實際步長大于預(yù)設(shè)步長,則優(yōu)先考慮使用實際步長調(diào)整數(shù)軸上的刻度個數(shù),以保證不會出現(xiàn)重復(fù)的刻度,即保證不會出現(xiàn)不同的圖表數(shù)據(jù)顯示成相同的刻度。此時,刻度個數(shù)=數(shù)軸的取值范圍/實際步長。
如果實際步長小于或者等于預(yù)設(shè)步長,則優(yōu)先考慮使用預(yù)設(shè)步長調(diào)整數(shù)軸上的刻度個數(shù),以節(jié)約對顯示空間的占用。此時,刻度個數(shù)=數(shù)軸的取值范圍/預(yù)設(shè)步長,此時,無需對刻度個數(shù)進行調(diào)整,直接展示圖表數(shù)據(jù)即可。
作為一種可選的實施例,根據(jù)圖表數(shù)據(jù),計算實際步長可以包括:計算圖表數(shù)據(jù)中兩兩數(shù)據(jù)之間的差值;確定計算得到的差值的絕對值中的最小值;以及將最小值作為實際步長。
需要說明的是,在用戶設(shè)置了數(shù)據(jù)格式的情況下,通過數(shù)據(jù)單位和小數(shù)位數(shù),可以計算得到最小步長,并將最小步長作為實際步長,如果最小步長大于預(yù)設(shè)步長,則優(yōu)先考慮使用最小步長確定刻度個數(shù)。
例如,對于1200和1240而言,如果用戶設(shè)置的數(shù)據(jù)格式為0.1k,則對應(yīng)的預(yù)設(shè)步長為100,此時,1200和1240的顯示結(jié)果都是1.2k,因而無法區(qū)分1200和1240;而1200和1240的實際步長為40,使用該實際步長重新計算刻度個數(shù)后,1200和1240的顯示結(jié)果分別為1.20k和1.24k,因而能夠區(qū)分1200和1240。
作為一種可選的實施例,獲取包含有數(shù)軸的配置信息的圖表配置信息可以包括:發(fā)送圖表繪制請求,其中,圖表繪制請求用于請求繪制圖表時需要使用的圖表配置信息,圖表配置信息至少包含數(shù)軸的配置信息;以及接收基于圖表繪制請求返回的包含有數(shù)軸的配置信息的圖表配置信息。
在本發(fā)明實施例中,當(dāng)用戶訪問報表頁面時,報表頁面會根據(jù)用戶的操作指令從前端向后端(包括但不限于服務(wù)器、數(shù)據(jù)庫等)發(fā)送圖表繪制請求,后端基于該圖表繪制請求向前端返回數(shù)據(jù)和圖表配置信息以使前端基于圖表配置信息和圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整,從而可以有區(qū)分地展示圖表數(shù)據(jù)中的不同數(shù)據(jù),如將不同的數(shù)據(jù)展示在不同的刻度上。
示例性裝置
在介紹了本發(fā)明示例性實施方式的介質(zhì)之后,接下來,參考圖3對本發(fā)明示例性實施方式的、用于實現(xiàn)用于圖表的數(shù)據(jù)處理方法的系統(tǒng)進行詳細闡述。
本發(fā)明實施例提供了一種用于圖表的數(shù)據(jù)處理系統(tǒng)。
圖3a示意性地示出了根據(jù)本發(fā)明一個實施例的用于圖表的數(shù)據(jù)處理系統(tǒng)的框圖。如圖3a所示,該系統(tǒng)包括:第一獲取模塊10,用于獲取包含有數(shù)軸的配置信息的圖表配置信息;第二獲取模塊20,用于獲取用于繪制圖表的圖表數(shù)據(jù);第一調(diào)整模塊30,用于根據(jù)圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整;以及展示模塊40,用于在數(shù)軸的配置信息自適應(yīng)調(diào)整完成后,展示圖表數(shù)據(jù)。
根據(jù)本發(fā)明實施例,圖表配置信息可以包括但不限于:數(shù)軸的配置信息、圖表數(shù)據(jù)的表現(xiàn)形式(如柱狀圖、折線圖、曲線圖等多種形式)等相關(guān)信息。進一步,數(shù)軸的配置信息可以包括但不限于:數(shù)軸上的刻度值、刻度個數(shù)、數(shù)據(jù)顯示格式(又稱為數(shù)據(jù)格式)、數(shù)軸名稱,等等。
對于數(shù)據(jù)格式而言,根據(jù)顯示空間中像素的個數(shù)和合理的刻度密度可以計算數(shù)軸上需要顯示的刻度數(shù)量,進一步,將數(shù)軸的最大值和最小值之間的跨度除以刻度數(shù)量,可以計算出每個刻度的刻度值,當(dāng)圖表數(shù)據(jù)較大時,可以考慮使用k,m,b,百萬,千萬,億等單位(即數(shù)據(jù)格式)以減少空間占用。
為了便于用戶使用,實施時,一般會設(shè)置默認數(shù)據(jù)格式(又稱為默認格式),進一步,為了滿足用戶的實際需求,比如,為了避免將不同的數(shù)據(jù)顯示在相同的刻度上,用戶還可以根據(jù)實際需要設(shè)置數(shù)據(jù)格式,調(diào)整數(shù)軸上刻度的個數(shù)。對應(yīng)的,在根據(jù)圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整時,一般會考慮兩種情況:1,若用戶自行設(shè)置了數(shù)據(jù)格式,則自適應(yīng)調(diào)整時,會考慮調(diào)整軸上刻度的個數(shù);2,若采用默認格式,則自適應(yīng)調(diào)整時,會考慮調(diào)數(shù)據(jù)格式,但保持刻度個數(shù)不變。
通過本發(fā)明實施例,由于可以根據(jù)圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整,并且調(diào)整之后才展示對應(yīng)的圖表數(shù)據(jù),因而能夠根據(jù)實際要展示的圖表數(shù)據(jù)正確合理地分配軸上的刻度或者設(shè)置數(shù)據(jù)格式,使每個刻度可以區(qū)分不同的圖表數(shù)據(jù),保證了可用性和正確性。換言之,本發(fā)明實施例可以在繪制圖表來展示圖表數(shù)據(jù)之前,基于圖表數(shù)據(jù)調(diào)整數(shù)軸的配置信息,使之與當(dāng)前需要在圖表中展示的數(shù)據(jù)相適應(yīng),克服了相關(guān)技術(shù)中顯示圖表數(shù)據(jù)時存在不足以區(qū)分不同的數(shù)據(jù)的缺陷,從而顯著地降低了不同數(shù)據(jù)對應(yīng)相同的刻度的可能性,為用戶帶來了更好的體驗,并且減少了干擾。
作為一種可選的實施例,如圖3b所示,第一調(diào)整模塊30可以包括:第一計算單元301,用于根據(jù)圖表數(shù)據(jù),計算實際步長,其中,實際步長為數(shù)軸上相鄰刻度之間的實際跨度;以及第一調(diào)整單元302,用于根據(jù)計算得到的實際步長對數(shù)軸上刻度的個數(shù)或者數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整。
作為一種可選的實施例,如圖3c所示,第一調(diào)整單元302可以包括:第一確定子單元3021,用于根據(jù)數(shù)軸的配置信息,確定數(shù)軸上刻度的當(dāng)前數(shù)據(jù)顯示格式是否為預(yù)設(shè)格式;以及調(diào)整子單元3022,用于在是的情況下,根據(jù)計算得到的實際步長對數(shù)軸上刻度的當(dāng)前數(shù)據(jù)顯示格式進行自適應(yīng)調(diào)整。
作為一種可選的實施例,如圖3d所示,該系統(tǒng)還可以包括:第二調(diào)整模塊50,用于在否的情況下,根據(jù)計算得到的實際步長對數(shù)軸上刻度的個數(shù)進行自適應(yīng)調(diào)整。
作為一種可選的實施例,如圖3e所示,第二調(diào)整模塊50可以包括:確定單元501,用于根據(jù)數(shù)軸的配置信息,確定預(yù)設(shè)步長,其中,預(yù)設(shè)步長為數(shù)軸上相鄰刻度之間的預(yù)設(shè)跨度;判斷單元502,用于判斷實際步長是否大于預(yù)設(shè)步長;第二計算單元503,用于在是的情況下,根據(jù)數(shù)軸的取值范圍和實際步長進行計算,得到對應(yīng)的刻度個數(shù);以及第二調(diào)整單元504,用于將數(shù)軸上刻度的個數(shù)調(diào)整為對應(yīng)的刻度個數(shù)。
作為一種可選的實施例,如圖3f所示,第一計算單元301可以包括:計算子單元3011,用于計算圖表數(shù)據(jù)中兩兩數(shù)據(jù)之間的差值;第二確定子單元3012,用于確定計算得到的差值的絕對值中的最小值;以及第三確定子單元3013,用于將最小值作為實際步長。
作為一種可選的實施例,如圖3g所示,第一獲取模塊10可以包括:發(fā)送單元101,用于發(fā)送圖表繪制請求,其中,圖表繪制請求用于請求繪制圖表時需要使用的圖表配置信息,圖表配置信息至少包含數(shù)軸的配置信息;以及接收單元102,用于接收基于圖表繪制請求返回的包含有數(shù)軸的配置信息的圖表配置信息。
需要說明的是,裝置部分實施例中各模塊/單元/子單元等的實施方式、解決的技術(shù)問題、實現(xiàn)的功能、以及達到的技術(shù)效果分別與方法部分實施例中各對應(yīng)的步驟的實施方式、解決的技術(shù)問題、實現(xiàn)的功能、以及達到的技術(shù)效果相同或類似,在此不再贅述。
示例性介質(zhì)
本發(fā)明實施例提供了一種介質(zhì),存儲有計算機可執(zhí)行指令,上述指令在被處理單元執(zhí)行時用于實現(xiàn)上述方法實施例中任一項上述的用于圖表的數(shù)據(jù)處理方法
在一些可能的實施方式中,本發(fā)明的各個方面還可以實現(xiàn)為一種程序產(chǎn)品的形式,其包括程序代碼,當(dāng)所述程序產(chǎn)品在終端設(shè)備上運行時,所述程序代碼用于使所述終端設(shè)備執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實施方式的用于圖表的數(shù)據(jù)處理方法中的步驟,例如,所述終端設(shè)備可以執(zhí)行如圖2中所示的步驟s201:獲取包含有數(shù)軸的配置信息的圖表配置信息;步驟s202:獲取用于繪制圖表的圖表數(shù)據(jù);步驟s203:根據(jù)圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整;以及操作s204,在數(shù)軸的配置信息自適應(yīng)調(diào)整完成后,展示圖表數(shù)據(jù)。
所述程序產(chǎn)品可以采用一個或多個可讀介質(zhì)的任意組合。可讀介質(zhì)可以是可讀信號介質(zhì)或者可讀存儲介質(zhì)??勺x存儲介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。
如圖4所示,描述了根據(jù)本發(fā)明的實施方式的用于圖表的數(shù)據(jù)處理的程序產(chǎn)品40,其可以采用便攜式緊湊盤只讀存儲器(cd-rom)并包括程序代碼,并可以在終端設(shè)備,例如個人電腦上運行。然而,本發(fā)明的程序產(chǎn)品不限于此,在本文件中,可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
可讀信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合??勺x信號介質(zhì)還可以是可讀存儲介質(zhì)以外的任何可讀介質(zhì),該可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、有線、光纜,rf等等,或者上述的任意合適的組合。
可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言-諸如java,c++等,還包括常規(guī)的過程式程序設(shè)計語言-諸如“c”,語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算設(shè)備上執(zhí)行、部分地在用戶設(shè)備上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算設(shè)備上部分在遠程計算設(shè)備上執(zhí)行、或者完全在遠程計算設(shè)備或服務(wù)器上執(zhí)行。在涉及遠程計算設(shè)備的情形中,遠程計算設(shè)備可以通過任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)一連接到用戶計算設(shè)備,或者,可以連接到外部計算設(shè)備(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
示例性計算設(shè)備
在介紹了本發(fā)明示例性實施方式的方法、介質(zhì)和系統(tǒng)之后,接下來,介紹根據(jù)本發(fā)明的另一示例性實施方式的用于圖表的數(shù)據(jù)處理的計算設(shè)備。
本發(fā)明實施例還提供了一種計算設(shè)備。該計算設(shè)備包括:處理單元;以及存儲單元,存儲有計算機可執(zhí)行指令,上述指令在被處理單元執(zhí)行時用于實現(xiàn)上述方法實施例中任一項所述的用于圖表的數(shù)據(jù)處理方法。
所屬技術(shù)領(lǐng)域的技術(shù)人員能夠理解,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。
在一些可能的實施方式中,根據(jù)本發(fā)明的用于圖表的數(shù)據(jù)處理的計算設(shè)備可以至少包括至少一個處理單元、以及至少一個存儲單元。其中,所述存儲單元存儲有程序代碼,當(dāng)所述程序代碼被所述處理單元執(zhí)行時,使得所述處理單元執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實施方式的用于圖表的數(shù)據(jù)處理方法中的步驟。例如,所述處理單元可以執(zhí)行如圖2中所示的步驟s201:獲取包含有數(shù)軸的配置信息的圖表配置信息;步驟s202:獲取用于繪制圖表的圖表數(shù)據(jù);步驟s203:根據(jù)圖表數(shù)據(jù)對數(shù)軸的配置信息進行自適應(yīng)調(diào)整;以及操作s204,在數(shù)軸的配置信息自適應(yīng)調(diào)整完成后,展示圖表數(shù)據(jù)。
下面參照圖5來描述根據(jù)本發(fā)明的這種實施方式的用于圖表的數(shù)據(jù)處理的計算設(shè)備50。如圖5所示的計算設(shè)備50僅僅是一個示例,不應(yīng)對本發(fā)明實施例的功能和使用范圍帶來任何限制。
如圖5所示,計算設(shè)備50以通用計算設(shè)備的形式表現(xiàn)。計算設(shè)備50的組件可以包括但不限于:上述至少一個處理單元501、上述至少一個存儲單元502、連接不同系統(tǒng)組件(包括存儲單元502和處理單元501)的總線503。
總線503表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器、外圍總線、圖形加速端口、處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。
存儲單元502可以包括易失性存儲器形式的可讀介質(zhì),例如隨機存取存儲器(ram)5021和/或高速緩存存儲器5022,還可以進一步包括只讀存儲器(rom)5023。
存儲單元502還可以包括具有一組(至少一個)程序模塊5024的程序/實用工具5025,這樣的程序模塊5024包括但不限于:操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)。
計算設(shè)備50也可以與一個或多個外部設(shè)備504(例如鍵盤、指向設(shè)備、藍牙設(shè)備等)通信,還可與一個或者多個使得用戶能與計算設(shè)備50交互的設(shè)備通信,和/或與使得計算設(shè)備50能與一個或多個其它計算設(shè)備進行通信的任何設(shè)備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口505進行。并且,計算設(shè)備50還可以通過網(wǎng)絡(luò)適配器506與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器506通過總線503與計算設(shè)備50的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合計算設(shè)備50使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、raid系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。
應(yīng)當(dāng)注意,盡管在上文詳細描述中提及了用于圖表的數(shù)據(jù)處理系統(tǒng)的若干單元/模塊或子單元/模塊,但是這種劃分僅僅是示例性的并非強制性的。實際上,根據(jù)本發(fā)明的實施方式,上文描述的兩個或更多單元/模塊的特征和功能可以在一個單元/模塊中具體化。反之,上文描述的一個單元/模塊的特征和功能可以進一步劃分為由多個單元/模塊來具體化。
此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結(jié)果。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
雖然已經(jīng)參考若干具體實施方式描述了本發(fā)明的精神和原理,但是應(yīng)該理解,本發(fā)明并不限于所公開的具體實施方式,對各方面的劃分也不意味著這些方面中的特征不能組合以進行受益,這種劃分僅是為了表述的方便。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。