2017-03-29 77 views
0

我已使用@danielgindi的圖表庫生成我的iOS應用程序的圖表。似乎所有工作都很好,但我們正面臨着X軸數據重複的問題。iOS圖表庫 - 如何處理X軸重複值

輸入數據爲圖形在(X軸值,Y軸值)

( 「29/03/2017 00:00:00」, 「2.7」)

( 「29/03/2017 00:00:00」, 「2.4」)

( 「29/03/2017 00:10:00」, 「1.3」)

(「29/03/2017「00:10:00」,「1.5」)

(「2017/3/23 00:20:00」,「1.8」)

....

....

....

( 「29/03/2017 01:00:00」, 「1.2」)

( 「29/03/2017 9點○○分00秒」, 「2.7」)

( 「29/03/2017 9時10分○○秒」, 「 - 10.8」)

....

....

....

( 「29/03/2017 13時10分○○秒」, 「3.9」)

(「29/03/2017 13: 20:00" , 「 - 8」)

( 「29/03/2017 13時二十零分00秒」, 「5.9」

其中X軸值是日期時間和Y軸的值是雙與該日期時間相關的價值。

我已經使用以下爲格式代碼X軸

class ChartStringFormatter: NSObject, IAxisValueFormatter { 

    public func stringForValue(_ value: TimeInterval, axis: AxisBase?) -> String { 

     let date = Date(timeIntervalSince1970: value) 
     return date.toString(format: "hh:mm a") 
    } 
} 

但是,當我放大它具有多個值的曲線爲X軸。我應該如何解決這個問題?

預期輸出對於X軸的值:

最初 - [上午12點,上午03時00,上午06時,上午09時00,12:00 PM,下午3點00, 06:00 PM,09:00 PM,12:00 PM]

When Zoom - [12:00 AM,01:00 AM,02:00 AM,03:00 AM ...... 12: 00 PM]

再次縮放 - [12:00 AM,12:30 AM,01:00 AM,01:30 AM,02:00 AM,02:30 AM,03:00 AM ...... 12:00 PM]

再次放大 - [12:00 AM,12:10 AM,12:20 AM,12:30 AM ......12:00 PM]

Sample GIF file:

的iOS圖表庫鏈接:https://github.com/danielgindi/Charts

回答

0

由於IOS的圖表庫文件中提到:

爲真時,軸標籤被控制granularity屬性。

如果爲false,則可能會重複軸值。

...

@property (nonatomic) BOOL granularityEnabled;

和:

軸值之間的最小間隔。

這可以用來避免標籤在變焦時重複進行

默認:1.0

@property (nonatomic) double granularity;

所以Im相當肯定,這些線路將做的工作適合你:

[yourChart.xAxis setGranularityEnabled:YES];

[yourChart.xAxis setGranularity:1.0];