我正在使用Androidplot
庫來繪製條形圖以顯示某些內容。 我的數值範圍是-40至+40。Androidplot負面條形圖
如何繪製一個酒吧到消極的一面?我只想將中間的零點置於y軸的中間位置,並且條形應該長大或縮小,如果該值是否定的。我的酒吧正在從下界向上發展。它應該看起來像這樣:
我正在使用Androidplot
庫來繪製條形圖以顯示某些內容。 我的數值範圍是-40至+40。Androidplot負面條形圖
如何繪製一個酒吧到消極的一面?我只想將中間的零點置於y軸的中間位置,並且條形應該長大或縮小,如果該值是否定的。我的酒吧正在從下界向上發展。它應該看起來像這樣:
這是一個很好的問題。我認爲沒有辦法用當前版本的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);
}
這樣你總是有綠色的酒吧,從零軸開始,並向上或向下。
你能提供關於如何使用它的代碼片段嗎? – bgplaya 2014-05-12 11:32:42
這對我的作品:
plot.centerOnRangeOrigin(0);
plot.setRangeLowerBoundary(0,BoundaryMode.AUTO);
其中plot是XYPlot的一個實例。
最近已經向Androidplot添加了負面條形支持0.6.2;你需要使用latest development version來得到它(它非常穩定)。
一旦你有Androidplot的正確版本,你可以使用瑪麗亞雷納的建議來啓用顯示負值。以下是我正在做下面的截圖:
plot.setUserRangeOrigin(0);
plot.setRangeBoundaries(0, BoundaryMode.AUTO, 0,BoundaryMode.AUTO);
注:目前在那裏,如果你正在使用疊加模式2個以上的系列,並有負杆的錯誤,負線條的疊加順序相反,導致條形組中較小的負值被較大的負值所遮蔽。如果你的目標只是重現上面的圖像,那麼你應該沒問題。
非常感謝我真的需要這個功能,並沒有得到爲什麼它使用0.6.1時不工作。 – Kalem 2014-08-19 13:39:24
只需稍微精確一點:BoundaryMode.AUTO在這裏不是強制性的。當你需要修改你的邊界時,你也可以使用BoundaryMode.FIXED,例如'plot.setRangeBoundaries(min,max,BoundaryMode.FIXED);'其中min是一個負值或不是,這仍然有效。 – Kalem 2014-08-19 14:16:08
@Nick在最近的jar文件中發生了一些變化,使其不再有效?我下載了最新的AndroidPlot 0.6.2(androidplot-core-0.6.2-SNAPSHOT),我無法讓centerOnRangeOrigin像我預期的那樣工作。 centerOnDomainOrigin按預期工作。有任何想法嗎? – buczek 2015-03-02 23:14:07
我想找出一個基本的條形圖與Android的情節,你碰巧有一個基本的示例代碼來做到這一點? – 2012-10-26 23:42:04