Charts 常見使用類型實例


Charts是做什么的:

       在我們平時的開發中,當使用到一些統計圖表的時候,我們該怎樣去做那些柱形的統計圖、那些折線統計圖、扇形統計圖,亦或是你在做金融相關的項目那些股票走勢等等的UI我們改怎樣做?上面說的這么多全都可以用今天我們說的主角——Charts來解決,這次我們說這個就從它的集成開始,再到對它一些簡單的說明,最后用幾個Demo來認識一下這個三方,在最后我也會相應的給出下面幾個Demo的源碼供大家參考。

 

Charts在git的地址先給大家 來看看它的一個集成:

       Charts是用Swift寫的,這里我推薦的使用Cocoapods來集成,下面是命令行截圖,當然肯定還有不適用Cocoapods的,下面也有一篇文章的鏈接,很詳細的說明了手動集成的過程:

 

 

要是不使用Cocoapods,你可以在這里看看這篇文章:   iOS在OC項目中集成Charts繪制圖表框架

 

讓Charts在你腦海中有這個印象,下面是對它整體的使用的一個類型的說明:

             LineChartView               ----- 折線圖 

             BarChartView                ----- 柱狀圖

             CandleStickChartView  -----  K線圖

             PieChartView                ----- 餅狀圖

             RadarChartView            ----- 雷達圖

 

一  :折線Demo的運行效果:

 

上面就是折線圖的運行效果,總結一下折線圖代碼中重要的地方:

1、ChartYAxis 這個類表示的就是Y軸,看字面意思也能理解, Axis就是軸的意思。當然我們說的重點不是這個,是它的實例的valueFormatter屬性,看下面:

 

 

仔細看看你就看到這個屬性類型,一個遵守了ChartAxisValueFormatter協議的任意類型,以前有一些代碼寫的時候是直接寫一個NSNumberFormatter賦值的,應該是以前版本的時候是這樣的,現在這個版本類型改變。

 

2、初始化方法的改變:

     先看看下面兩句,一個是初始化ChartDataEntry的子類BarChartDataEntry的方法,一個是初始化PieChartDataSet類的方法:

 

 

      應該也是版本的問題,在新的版本中我們是找不到上面兩個方法的,也就是 initWithValue: xIndex:  和   initWithYVals: label:  這兩個方法,相應的我們能夠正常使用的是下面這樣:

 

二:柱狀Demo的效果

    

柱狀就是BarChartView類型,具體的代碼和注意的東西我加了詳細的注釋在Demo里面,這里看看ChartViewDelegate的代理方法:

#pragma mark -- ChartViewDelegate
//點擊選中柱形時回調
- (void)chartValueSelected:(ChartViewBase * _Nonnull)chartView entry:(ChartDataEntry * _Nonnull)entry dataSetIndex:(NSInteger)dataSetIndex highlight:(ChartHighlight * _Nonnull)highlight{
        
        NSLog(@"");
}

//沒有選中柱形圖時回調,當選中一個柱形圖后,在空白處雙擊,就可以取消選擇,此時會回調此方法
- (void)chartValueNothingSelected:(ChartViewBase * _Nonnull)chartView{
        
        NSLog(@"---chartValueNothingSelected---");
}

//放大圖表時回調
- (void)chartScaled:(ChartViewBase * _Nonnull)chartView scaleX:(CGFloat)scaleX scaleY:(CGFloat)scaleY{
        
        NSLog(@"---chartScaled---scaleX:%g, scaleY:%g", scaleX, scaleY);
}

//拖拽圖表時回調
- (void)chartTranslated:(ChartViewBase * _Nonnull)chartView dX:(CGFloat)dX dY:(CGFloat)dY{
        
        NSLog(@"---chartTranslated---dX:%g, dY:%g", dX, dY);
}

 

三: PieChartView 餅狀圖

       看到這了其實我在練習Demo的時候,感覺和前面那些都差不多一個道理,只不過就是類型不一樣而已吧,可能里面還是會涉及到一些具體的屬性區別,下面是餅狀的圖效果:

 

 

四:雷達狀Demo的運行效果

   

 結尾:

        上面就是簡單的四個的運行效果,其他的還有K線的就不多介紹了,都是一個道理。上面這些的數據都是我們自己寫的,但不同的使用環境可能會有不一樣的問題出來,要是在具體的用的過程當中你遇到什么文藝,留言或者是在我資料找我QQ大家一起與討論一下,一起學習進步吧,當然這個Demo我也會放在Git上,下面會把Demo的地址發出來。

 

       Charts使用Demo地址

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM