0
私はMPAndroidChartを使用しています。私は5:float[] sizes
という配列を持っており、動的に値0-1を取得します。MPAndroidChart BubbleChart:単一エントリデータセットがバブルサイズを無視します
それぞれ異なる色の0~5の泡(サイズが<の場合は描画しません)を描画する必要があります。エントリレベルではなくデータセットレベルでのみ色を指定できるので、私は単一エントリのデータセットを使用する必要があります。
以下は私のコードです。問題は、彼らがサイズ(0.9f、0.8f、0.7f ...)で飛んだサイズを無視して、すべてサイズ1であることです。
この問題を解決するにはどうすればよいですか?
private void initChart(){
mChart = (BubbleChart) findViewById(R.id.chart);
//mChart.setDescription("");
mChart.setDrawGridBackground(false);
mChart.setTouchEnabled(true);
mChart.setDragEnabled(true);
mChart.setScaleEnabled(true);
mChart.setMaxVisibleValueCount(5);
mChart.setPinchZoom(true);
mChart.getXAxis().setEnabled(false);
mChart.getAxisLeft().setEnabled(false);
mChart.getAxisRight().setEnabled(false);
mChart.setDescription("");
mChart.getXAxis().setAxisMinValue(-0.5f);
mChart.getXAxis().setAxisMaxValue(5.5f);
}
private void updateChart(){
ArrayList<IBubbleDataSet> dataSets = new ArrayList<IBubbleDataSet>();
for(int i = 0, pos = 0; i < 5; ++i) {
if(sizes[i] < 0.5f)
continue;
BubbleEntry entry = new BubbleEntry(pos++, 0, sizes[i]); //!!These sizes e.g. 0.9f, 0.7f ... are disregarded
ArrayList<BubbleEntry> vals = new ArrayList<>();
vals.add(entry);
BubbleDataSet set = new BubbleDataSet(vals, "");
set.setColor(ColorTemplate.COLORFUL_COLORS[i], 130);
set.setDrawValues(false);
dataSets.add(set);
}
BubbleData data = new BubbleData(dataSets);
data.setDrawValues(false);
data.setHighlightCircleWidth(1.5f);
mChart.setData(data);
mChart.invalidate();
}