charts是做什麼的:
charts在git的位址先給大家 來看看它的乙個整合:
要是不使用cocoapods,你可以在這裡看看這篇文章: ios在oc專案中整合charts繪製圖表框架
讓charts在你腦海中有這個印象,下面是對它整體的使用的乙個型別的說明:
linechartview ----- 折線圖
barchartview ----- 柱狀圖
candlestickchartview ----- **圖
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三: piechartview 餅狀圖//點選選中柱形時**
- (void)chartvalueselected:(chartviewbase * _nonnull)chartview entry:(chartdataentry * _nonnull)entry datasetindex:(nsinteger)datasetindex highlight:(charthighlight * _nonnull)highlight
//沒有選中柱形圖時**,當選中乙個柱形圖後,在空白處雙擊,就可以取消選擇,此時會**此方法
- (void)chartvaluenothingselected:(chartviewbase * _nonnull)chartview
//放大圖表時**
- (void)chartscaled:(chartviewbase * _nonnull)chartview scalex:(cgfloat)scalex scaley:(cgfloat)scaley
//拖拽圖表時**
- (void)charttranslated:(chartviewbase * _nonnull)chartview dx:(cgfloat)dx dy:(cgfloat)dy
看到這了其實我在練習demo的時候,感覺和前面那些都差不多乙個道理,只不過就是型別不一樣而已吧,可能裡面還是會涉及到一些具體的屬性區別,下面是餅狀的圖效果:
四:雷達狀demo的執行效果
結尾:charts使用demo位址
Charts使用時的基本屬性
pragma mark 折線圖 遵循 pragma mark 折線圖 新增限制線 chartlimitline createlilitlineline cgfloat limit label nsstring label void showchart 設定座標軸資訊 void setxylinein...
使用反射動態建立型別例項
net中除了建構函式外,還有多種方式可以建立型別的例項。下面總結了幾種常見的通過反射建立型別例項的方法。假設我們需要建立有這樣乙個型別的例項 public class employee public employee string name public employee public void s...
常見演算法例項
氣泡排序就是每次量量比較相鄰的元素,進行判斷大小然後進行值的交換,如果把陣列中的待比較的元素當做在水中的混亂的元素的話,那麼這個排序過程就像是乙個個水泡在往上冒出來,這也是氣泡排序的名字來由,不多說,見 示例 public void bubblesort integer array 如果沒有交換過說...