iOS圖表庫Charts使用(不常見但很實用的屬性)
至于Charts的普通demo方法請參見其它文章,本文主要講述Charts不常見但很實用的屬性。(關于集成的方法參見我的上一篇文章:iOS圖表庫Charts集成與使用)
普通demo文章:iOS在OC項目中集成Charts繪制圖表框架 這個是王雷大神的博客,對charts講解很詳細
這個是李大寶(群主)的博客對于chart的理解,個人認為他是個逗逼,??加入他的chart群交流,群號:539641834
所謂天下文章一般抄,百度出來的chart文章大部分都雷同。
好,開始不一樣的講解:
由于老板是個老者(今年50,60歲了),從事java多年,指導我們需求這一塊,
1.交互柱狀圖時,只讓用戶左右滑動,不縮放,
解析:由于chart官網以及上面大神的demo都是默認先縮放后才可以滑動,這就出現了困難,經過幾番查找,發現只要在創建圖表時就設置縮放的比例,這樣用戶交互時,就不用先放大后才可以滑動,從而解決需求,當然x,y軸的手勢啟動也要相應的設置下。
方法:
// 需求:只滑動不縮放:(系統內部默認是先縮放后滑動)及初始化時x軸就縮放1.5倍,就可以滑動了,
ChartViewPortHandler *scaleX = _barChartView.viewPortHandler;
[scaleX setMinimumScaleX:1.5f];
//設置動畫效果,可以設置X軸和Y軸的動畫效果
[_barChartView animateWithYAxisDuration:0.25f];
2.當x軸每一個單元數據太長(比如說學生的名字太長),就會形成太擁擠的現象
解析:可以傾斜顯示x軸每一個單元數據,// xAxis.labelRotationAngle = -30;// x軸上名字的旋轉角度,仿網頁上的
但是這樣又會形成,第一次進來時,學生名字只顯示一半,向左滑動后,才偏移出全部的名字,但是整個barChartView也會上移動,后來用_barChartView.extraBottomOffset = 15;也解決不了問題。
辦法:索性就不用傾斜顯示了,即:
一個頁面顯示的數據太多了,都不看清楚,怎么樣設置一個頁面顯示固定條數的數據,如果數據太多需要手動滑動看到
//設置一頁顯示的數據條數,超出的數量需要滑動查看:
_barChartView.setVisibleXRangeMaximum(double);//需要在設置數據源后生效(這是一個坑,懶加載寫這個方法并沒任何反應,必須在調用數據后使用才有效果)
我的:
我是在
(// 需求:只滑動不縮放:(系統內部默認是先縮放后滑動)及初始化時x軸就縮放1.5倍,就可以滑動了,
ChartViewPortHandler *scaleX = _barChartView.viewPortHandler;
[scaleX setMinimumScaleX:1.5f];)
下使用(//? ? ? ? xAxis.labelRotationAngle = -30;// x軸上名字的旋轉角度,
xAxis.labelPosition = XAxisLabelPositionBottom;//X軸的顯示位置,默認是顯示在上面的)的,每一次進來就這樣:
向左滑動后才:
若是有那個大神知道歡迎告知,我的解決就是沒用傾斜的方法,直接用了_barChartView.setVisibleXRangeMaximum(double);
其他實用屬性方法陸續更新。。。。