簡體   English   中英

在MPAndroid條形圖中將x軸位置設置為y = 0

[英]Setting the x axis position to y = 0 in MPAndroid Bar Chart

我一直在努力解決這個問題一段時間了,但是我找不到一種方法讓x軸和它的標簽位於y = 0的位置。當我有正值和負值時,這很重要 - 我不想將軸置於AndroidMPChart(TOP,BOTTOM,BOTH_SIDED,TOP_INSIDE,BOTTOM_INSIDE)給出的默認值,因為這些都不適用。

我已經設法編輯了xAxisRenderer,並且能夠將我的maxY值的比率傳遞給我的minY值,希望手動找到設置軸的位置。 然而,問題在於我需要最高Y條和最低Y條的位置。 我可以使用mViewPortHandler.contentBottom()找到最低Y條的位置沒問題,但是由於某些原因,使用mViewPortHandler.contentTop()並沒有給我Y欄的頂部。

List<Float> floatList = new ArrayList<>();
floatList.add(0f);
floatList.add(mViewPortHandler.contentTop());
floatList.add(mViewPortHandler.offsetTop()+mViewPortHandler.getScaleY());
floatList.add(mViewPortHandler.getContentCenter().y);
floatList.add(mViewPortHandler.contentBottom());
floatList.add(mViewPortHandler.getChartHeight());

if (mDebug) {         
  for (int i=0; i<floatList.size(); i++) {                    
    Paint paint = new Paint(); 
    paint.setColor(getRandomColorInColorFormPrintString("i = " + i));
    paint.setStrokeWidth(3);
    c.drawLine(mViewPortHandler.contentLeft()+15*i,
    floatList.get(i), mViewPortHandler.contentRight()+15*i,  
    floatList.get(i), paint); 
  }        
}

請注意contentBottom(黃色)如何釘在條形圖的底部,但內容頂部和偏移頂部(粉紅色/紅色)在查找內容的頂部時不准確。 我已經嘗試了許多不同的值,contentBottom始終是准確的,而contentTop / offsetTop不是,並且沒有被值標簽的高度所抵消(我已經嘗試過這個)。 在此輸入圖像描述

我真正需要的是一種動態方法,可以將x軸的位置設置在正值和負值之間。 我很驚訝這個選項沒有Android MP圖表。 如果確實如此,如果我過於復雜,請告訴我。 如果沒有辦法通過Android MP圖表設置此項,請告訴我,如果你知道我在嘗試獲得Y欄的頂部時做錯了什么。

這就是我解決問題的方法 -

在renderAxisLine函數=>中

MPPointD pos = mTrans.getPixelForValues(0f, 0f);
c.drawLine(mViewPortHandler.contentLeft(),
                (float)pos.y, mViewPortHandler.contentRight(),
                (float)pos.y, mAxisLinePaint);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM