欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MPAndroidChart 自定義圖表繪制使用實(shí)例

 更新時間:2022年09月06日 09:05:50   作者:cxy107750  
這篇文章主要為大家介紹了MPAndroidChart 自定義圖表繪制使用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

聲明:文中的MPChart代指MPAndroidChart.

本文主要講解LineChart中的三個變種Chart,第一個是漸變的LineGradientChart, 第二個是頻率散點(diǎn)圖,游泳階梯圖,其實(shí)MPChart本身也有階梯圖的,DataSet.isDrawSteppedEnabled()這個屬性來控制。

1. LineGradientChart

原理:每個Entry中的 Yvalue 值,計算值所在的顏色區(qū)間,顏色的值少于值范圍。然后繪制線段的時候,drawLine 時設(shè)置LineGradient就可以了, colorList跟 entryList 一樣存到DataSet中,dataSet.setColors(colorList) Api 接收colorList。

for (int j = mXBounds.min; j <= mXBounds.range + mXBounds.min; j++) {
   Entry e = dataSet.getEntryForIndex(j);
   ...
  //設(shè)置 lineGradient
   mRenderPaint.setShader(new LinearGradient(startX, mLineBuffer[1], endX, mLineBuffer[3],
                            dataSet.getColor(j), dataSet.getColor(j+1), Shader.TileMode.MIRROR));
  //用 lineGradient繪制線段。
  canvas.drawLines(mLineBuffer, 0, pointsPerEntryPair * 2, mRenderPaint);
}

圖1.0 LineGradientChart

2. 散點(diǎn)圖

先看圖1.1 散點(diǎn)圖:

圖1.1 散點(diǎn)圖

這個其實(shí)有很多做法的,這里直接用LineChart,然后drawLine 時 Paint 的color transparent,或者直接屬性控制不畫。

設(shè)置DataSet.drawCircle(true), 就會繪制 Point點(diǎn)了。三種不同的顏色的Point,DataSetList, 這里自定義了一個CustomDataSet,不同的值區(qū)間用不同的Type,對應(yīng)不同的顏色即可。

圖1.2 散點(diǎn)圖DataSet自定義

3. SteppedChart

階梯圖就是前后兩個點(diǎn)的連線是90度上去或者下來的,即X軸的值是一定的。這里存在一個問題,MPChart中的X軸、Y軸的值是一一對應(yīng)的,就是Point(1.0, 4) , Point(1.0, 8) 最終存入 DataSet只能有一個,后來的會將前面的覆蓋。想辦法如何繪制這種SteppedChart呢,就在最后一步,將Transformer轉(zhuǎn)化后的 Buffer里的數(shù)據(jù) currentEntry對應(yīng)的點(diǎn)的 X值改成 PreCurrentEntry的X值,當(dāng)他們滿足業(yè)務(wù)上的階梯的條件時,或者將PreCurrentEntry的X值的值改成 currentEntry對應(yīng)的點(diǎn)的 X值。

直接看圖:

圖1.3 SteppedChart

本章節(jié)主要簡單的介紹了幾個LineChart 的變種,稍微修改部分屬性就可以繪制不同需求的圖形。至此,MPChart自定義相關(guān)的圖形告一段落,原本計劃的還有些比如RTL相關(guān)的,還有曲線圖表的繪制等,有問題需要了解的讀者可以留言或者加筆者的聯(lián)系方式探討。

后續(xù)介紹另外一種脫離MPChart圖表,基于RecycleView繪制的圖表,可實(shí)現(xiàn)的功能可以參照蘋果健康里的一些數(shù)據(jù)圖表,無限左右滑動,按下高亮選中滑動,以日、周、月為單位控制 單位區(qū)間里的數(shù)據(jù),可以屬性控制是否單位區(qū)間顯示,可以自動彈回到鄰近的單位區(qū)間邊界等功能。

以上就是MPAndroidChart 自定義圖表繪制使用實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于MPAndroidChart 自定義圖表的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論