2012-07-23 69 views
1

我正在使用Androidplot庫來繪製條形圖以顯示某些內容。 我的數值範圍是-40至+40Androidplot負面條形圖

如何繪製一個酒吧到消極的一面?我只想將中間的零點置於y軸的中間位置,並且條形應該長大或縮小,如果該值是否定的。我的酒吧正在從下界向上發展。它應該看起來像這樣: enter image description here

+1

我想找出一個基本的條形圖與Android的情節,你碰巧有一個基本的示例代碼來做到這一點? – 2012-10-26 23:42:04

回答

0

這是一個很好的問題。我認爲沒有辦法用當前版本的AndroidPlot(0.6.0)做到這一點,只有一系列值。 我在我的項目中創建了一個解決方法。我知道這不是完美的,但它的工作原理是:創建兩個重疊的系列,一個用綠色,一個用背景色。假設你有你的currentValue畫..

if (currentValue>=0) { 
    greenRes[i] = Float.valueOf(currentValue); 
    coverRes[i] = Float.valueOf(0); 
} 
else { 
    greenRes[i] = Float.valueOf(0); 
    coverRes[i] = Float.valueOf(currentValue); 
} 

這樣你總是有綠色的酒吧,從零軸開始,並向上或向下。

+0

你能提供關於如何使用它的代碼片段嗎? – bgplaya 2014-05-12 11:32:42

1

這對我的作品:

plot.centerOnRangeOrigin(0);

plot.setRangeLowerBoundary(0,BoundaryMode.AUTO);

其中plot是XYPlot的一個實例。

1

最近已經向Androidplot添加了負面條形支持0.6.2;你需要使用latest development version來得到它(它非常穩定)。

一旦你有Androidplot的正確版本,你可以使用瑪麗亞雷納的建議來啓用顯示負值。以下是我正在做下面的截圖:

plot.setUserRangeOrigin(0); 
plot.setRangeBoundaries(0, BoundaryMode.AUTO, 0,BoundaryMode.AUTO); 

enter image description here

注:目前在那裏,如果你正在使用疊加模式2個以上的系列,並有負杆的錯誤,負線條的疊加順序相反,導致條形組中較小的負值被較大的負值所遮蔽。如果你的目標只是重現上面的圖像,那麼你應該沒問題。

+0

非常感謝我真的需要這個功能,並沒有得到爲什麼它使用0.6.1時不工作。 – Kalem 2014-08-19 13:39:24

+0

只需稍微精確一點:BoundaryMode.AUTO在這裏不是強制性的。當你需要修改你的邊界時,你也可以使用BoundaryMode.FIXED,例如'plot.setRangeBoundaries(min,max,BoundaryMode.FIXED);'其中min是一個負值或不是,這仍然有效。 – Kalem 2014-08-19 14:16:08

+0

@Nick在最近的jar文件中發生了一些變化,使其不再有效?我下載了最新的AndroidPlot 0.6.2(androidplot-core-0.6.2-SNAPSHOT),我無法讓centerOnRangeOrigin像我預期的那樣工作。 centerOnDomainOrigin按預期工作。有任何想法嗎? – buczek 2015-03-02 23:14:07