Я нахожусь в проекте, который должен раздуть комбинированную диаграмму (StackedBar Chart + Line Chart), используя MPAndroid Chart.
Я застрял в setOnChartValueSelectedListener
, хотя.
I 'Я уже закончил с первым столбцом с накоплением Xaxis на выбранном значении, и мне нужно сделать это снова со вторым столбцом с накоплением Xaxis, который должен быть нарисован выше первого столбца с накоплением.
private void generateCombinedChart(LinearLayout linearChart,
int counte,
float[] firstDataTotal,
final float[] firstDataStacked,
float[] secondDataStacked,
final String[] label,
final double[] arraayStacked1,
final double[] arrayStacked2
){
View view = LayoutInflater.from(mContext).inflate(R.layout.item_combined_chart, linearChart, false);
mChart = (CombinedChart) view.findViewById(R.id.chart);
mChart.getDescription().setEnabled(false);
mChart.setDrawBarShadow(false);
mChart.setDrawGridBackground(false);
mChart.setDrawValueAboveBar(true);
mChart.setHighlightFullBarEnabled(false);
mChart.setPinchZoom(false);
mChart.getAxisLeft().setLabelCount(8, false);
mChart.getAxisLeft().setValueFormatter(new id.co.bri.brisim.ui.view.custom.LargeValueFormatter());
mChart.getAxisLeft().setPosition(YAxis.YAxisLabelPosition.OUTSIDE_CHART);
mChart.getAxisLeft().setSpaceTop(15f);
mChart.getAxisLeft().setAxisMinimum(0f); // this replaces setStartAtZero(true)
mChart.getAxisLeft().setEnabled(true);
mChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
@Override
public void onValueSelected(Entry e, Highlight h) {
for(int i = 0; i < firstDataStacked.length; i++){
if(e.getX() == i) {
Toast.makeText(mContext, " " + Util.priceWithoutDecimal(arraayStacked1[i]), Toast.LENGTH_SHORT).show();// TOAST IT
}
}
}
@Override
public void onNothingSelected() {
}
});
/**
* Draw bars behind lines
*/
mChart.setDrawOrder(new CombinedChart.DrawOrder[]{
CombinedChart.DrawOrder.BAR,
CombinedChart.DrawOrder.LINE
});
araayStacked1
используется для раздувания первого Xaxisсоставной бар и arrayStacked2
используется для надувания второго сложенного бара Xaxis над ним
Я могу сделать arrayStacked1
, но я не могу сделать arrayStacked2
.Любое решение будет оценено.