日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
ios開發(fā)折線圖,蘋果手機(jī)制作折線圖

iOS 中各種折線.曲線.圖形繪制方法集錦

第一 折線圖實(shí)現(xiàn)

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供市中網(wǎng)站建設(shè)、市中做網(wǎng)站、市中網(wǎng)站設(shè)計(jì)、市中網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、市中企業(yè)網(wǎng)站模板建站服務(wù),10余年市中做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

.1) 自定義視圖實(shí)現(xiàn)

.2)關(guān)鍵技術(shù)實(shí)現(xiàn)

.3) 方法調(diào)用

.4) 效果展示

第二 走勢(shì)曲線圖實(shí)現(xiàn)

.1) 導(dǎo)入DJChart第三方庫(kù)

.2)橫豎軸參數(shù)設(shè)置

.3) 方法調(diào)用

.4) 效果展示

第三 畫線圖實(shí)現(xiàn)

.1) 導(dǎo)入ZXQuartz第三方庫(kù)

.2) 自定義視圖,畫各種圖形

.3) 方法調(diào)用

.4) 效果展示

第四 柱狀圖實(shí)現(xiàn)

.1) 導(dǎo)入ZXQuartz第三方庫(kù)

.2)橫豎軸參數(shù)設(shè)置

.3) 方法調(diào)用

.4) 效果展示

第五 各式圖形實(shí)現(xiàn)

.1) 導(dǎo)入DJChart第三方庫(kù)

.2)關(guān)鍵技術(shù)實(shí)現(xiàn)

.3) 方法調(diào)用

.4) 效果展示

第六 餅狀圖實(shí)現(xiàn)

.1) 關(guān)鍵技術(shù)實(shí)現(xiàn)

.2) 方法調(diào)用

.3) 效果展示

總結(jié)

前言

大家經(jīng)常在做項(xiàng)目過程中,都會(huì)遇到一些畫圖,例如我們?cè)谔鞖忸A(yù)報(bào)中,統(tǒng)計(jì)這一周的天氣狀況變化時(shí),這時(shí)我們就需要用折線圖來進(jìn)行統(tǒng)計(jì)(圖一);例如統(tǒng)計(jì)就業(yè)率時(shí),我們可能會(huì)用到柱狀圖等等.

首先我們來看看這樣的折線該怎么實(shí)現(xiàn)呢?.現(xiàn)在我們來看看整體效果圖.

現(xiàn)在我們來看看各種不同的圖形到底是什么樣的.

1) 折線圖

2) 走勢(shì)趨勢(shì)圖

3) 畫線圖

4) 柱狀圖

5) 各種圖形

6)餅狀圖

好了看了上面各種折線圖,大家一定很關(guān)心這些折線圖是如何完成繪制的,下面我們就來看看各種圖形的具體實(shí)現(xiàn).

第一 折線圖實(shí)現(xiàn)

1) 自定義視圖

2) 關(guān)鍵技術(shù)實(shí)現(xiàn)

3 方法調(diào)用

4) 效果展示

第二 走勢(shì)曲線圖實(shí)現(xiàn)

1) 導(dǎo)入DJChart第三方庫(kù)

2) 橫豎軸參數(shù)設(shè)置

3) 方法調(diào)用

4) 效果圖展示

第三 畫線圖實(shí)現(xiàn)

1) 導(dǎo)入ZXQuartz第三方庫(kù)

2) 自定義視圖,畫各種圖形

3) 方法調(diào)用

4) 效果圖展示

第四 柱狀圖實(shí)現(xiàn)

1) 導(dǎo)入ZXQuartz第三方庫(kù)

2) 關(guān)鍵技術(shù)實(shí)現(xiàn)

3) 方法調(diào)用

4) 效果圖展示

第六 餅狀圖實(shí)現(xiàn)

1) 關(guān)鍵技術(shù)實(shí)現(xiàn)

2) 方法調(diào)用

3) 效果圖展示

總結(jié)

是不是看起來很簡(jiǎn)單,把所有的繪圖方式都集中起來,以后大家要用到就不用那么麻煩了.

iOS使用Charts框架繪制折線圖

公司的項(xiàng)目要使用到折線圖,然后用的是第三方Charts框架,不得不說Charts很強(qiáng)大的一個(gè)第三方,幾乎所有你想要的功能都可以做到,剛開始使用的時(shí)候很多功能沒有找到,比如只標(biāo)記最高點(diǎn),滑動(dòng)的時(shí)候數(shù)值變化等等,下面是簡(jiǎn)單的效果示意圖。

現(xiàn)在我們開始一步一步來實(shí)現(xiàn)圖中的效果吧。

在控制器中我們首先需要?jiǎng)?chuàng)建一個(gè)LineChartView的對(duì)象,在Charts框架中折線圖用到的類是 LineChartView.h

在 LineChartView 中有兩個(gè)屬性 rightAxis 和 leftAxis 屬于 ChartYAxis 類,是分別用來設(shè)置左邊Y軸和右邊Y軸的,可以根據(jù)自己的需求去設(shè)置。

在這里要注意的是,一般情況下y軸的數(shù)據(jù)是double類型的并且是沒有特殊符號(hào)的,如果想要做到像圖中的那樣的百分?jǐn)?shù)類型是要去設(shè)置的,然后我們發(fā)現(xiàn) ChartYAxis 類中有一個(gè)屬性 valueFormatter ,這個(gè)屬性就是用來設(shè)置數(shù)據(jù)格式的,但比較麻煩的是這個(gè)屬性必須遵循 IChartAxisValueFormatter 的協(xié)議,所以我們需要去自定義一個(gè) SymbolsValueFormatter 類來完成

在.m的代理方法中

y軸設(shè)置完了,現(xiàn)在我們來設(shè)置x軸,在 LineChartView 中也有個(gè)屬性 xAxis 使用來設(shè)置x軸的樣式的,它屬于 ChartXAxis 類,現(xiàn)在我們來創(chuàng)建它

到這里我們 _lineView 的x軸和y軸都設(shè)置好了,但是還少了一個(gè)選中數(shù)據(jù)滑動(dòng)的時(shí)候值會(huì)變化的標(biāo)簽, LineChartView 中有個(gè) marker 屬性就是我們要找的, marker 屬性遵循 IChartMarker 協(xié)議,是id類型,找了好久終于發(fā)現(xiàn) ChartMarkerView 和 ChartMarkerImage 都有遵循 IChartMarker 協(xié)議,都是可以用的,可以根據(jù)自己的需求自己選擇

折線圖的數(shù)據(jù) data 屬性是屬于 LineChartData 類,所以setData方法需要返回一個(gè) LineChartData 的對(duì)象,但是在 LineChartData 的對(duì)象的初始化方法中 - (nonnull instancetype)initWithDataSets:(NSArrayid IChartDataSet * _Nullable)dataSets 發(fā)現(xiàn)還需要一個(gè)裝有 LineChartDataSet 的數(shù)組, LineChartDataSet 其實(shí)就是每一條折線,而繪制每一條折線又需要數(shù)據(jù),所以我們先從數(shù)據(jù)開始一步一步創(chuàng)建。

上面創(chuàng)建的是模擬日期的格式,從02-1到03-21,x軸默認(rèn)的數(shù)據(jù)格式也是double類型,所以我們需要像上面取設(shè)置y軸的數(shù)據(jù)格式那樣來設(shè)置x軸的日期,我們新建 DateValueFormatter 類遵循 IChartAxisValueFormatter 協(xié)議,然后重寫init方法,將x軸的數(shù)組傳過去,在 DateValueFormatter 類中定義一個(gè)全局?jǐn)?shù)組,在協(xié)議方法中去返回?cái)?shù)據(jù)

x軸的數(shù)據(jù)設(shè)置完,我們需要來設(shè)置Y軸的數(shù)據(jù)了,因?yàn)槭莾蓷l折線圖,所以我們需要兩個(gè)數(shù)組數(shù)據(jù)

數(shù)據(jù)完成后,我們就要來創(chuàng)建折線了,創(chuàng)建兩個(gè)LineChartDataSet對(duì)象其中有一個(gè)對(duì)象是要返回最高點(diǎn)的值,所以要設(shè)置 valueFormatter 和前面的一樣,重寫了init方法

SetValueFormatter.h和前面的一樣要繼承協(xié)議,.m文件中定義了兩個(gè)全局屬性一個(gè)數(shù)組和一個(gè)記錄最大值。

這樣寫好就會(huì)只有最高值顯示,其他都顯示 @""

前面兩個(gè) LineChartDataSet 對(duì)象都添加進(jìn)了數(shù)組,接下來我們就可以創(chuàng)建 LineChartData 對(duì)象,然后返回就可以了

最后還有個(gè) ChartView 的選中數(shù)據(jù)代理方法,主要用來顯示選中折線數(shù)據(jù)的時(shí)候label值的變化

最后附上demo鏈接 ChartsDemo

IOS使用Xcode繪制折線圖

-(void)drawRect:(CGRect)rect

{

[super drawRect:rect];

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetLineWidth(context, _lineWidth);

CGContextSetStrokeColorWithColor(context, _lineColor.CGColor);

CGContextMoveToPoint(context, 10, 10);

CGContextAddLineToPoint(context, 50, 30);

CGContextAddLineToPoint(context, 65, 50);

CGContextStrokePath(context);

}

無非是在UIView重寫這個(gè)drawRect方法。這樣最便捷。

CGContextMoveToPoint是畫線的起點(diǎn),CGContextAddLineToPoint是從起點(diǎn)添加一條線到另一個(gè)點(diǎn)p2,可以繼續(xù)從p2加一條線到p3,不限制。

你也可以畫若干條線,

只需CGContextMoveToPoint重新移動(dòng)到一個(gè)新的起點(diǎn),繼續(xù)上面的步驟。

上面的moveToPoint,addLineToPoint并不會(huì)馬上把線繪制出來,只是規(guī)劃好要繪制的內(nèi)容,

執(zhí)行CGContextStrokePath,才最終把線條繪制出來。

iOS Swift Charts 的使用(一):折線圖的實(shí)現(xiàn)

下面是這個(gè)系列的幾篇匯總:

1、 折線圖

2、 柱狀圖

3、 餅狀圖

4、 k線圖


網(wǎng)站標(biāo)題:ios開發(fā)折線圖,蘋果手機(jī)制作折線圖
分享URL:http://www.dlmjj.cn/article/dsgiejd.html