我正在使用MPAndroidChart库,尝试自定义Stacked Bars.目标是显示两种货币之间的差异.所以假设这个例子是1月份.货币#1 = 8; 货币#2 = 12
这个想法是在同一个条形图中显示两个值,而不是将2个值(8 + 12)相加以使值8"在前面"而值12"在后面".因此,条形图的总高值是最大值.
我尝试这样做,扩展BarEntry类,而不是计算总和,只需设置最大值.但我现在只看到一个酒吧(价值= 12的酒吧)
你知道这种逻辑是否得到支持吗?有什么建议?
我正在实现一项功能,用于显示财产的收入/费用,还提供了1个月,3个月,6个月和12个月的筛选器。
因此,我必须根据选择的过滤器显示“月”标签,例如,如果选择“ 3个月”过滤器,则需要显示“三月”,“二月”和“一月”,但当前未在XAxis上显示什么标签。
这是我的代码,请纠正任何问题:
private void setChart() {
ArrayList<BarEntry> incomeEntries = getIncomeEntries();
ArrayList<BarEntry> expenseEntries = getExpenseEntries();
BarDataSet set1, set2;
set1 = new BarDataSet(incomeEntries, "Income");
set1.setColor(Color.rgb(65, 168, 121));
set1.setValueTextColor(Color.rgb(55, 70, 73));
set1.setValueTextSize(10f);
set2 = new BarDataSet(expenseEntries, "Expense");
set2.setColors(Color.rgb(241, 107, 72));
set2.setValueTextColor(Color.rgb(55, 70, 73));
set2.setValueTextSize(10f);
ArrayList<IBarDataSet> dataSets = new ArrayList<>();
dataSets.add(set1);
dataSets.add(set2);
BarData data = new BarData(dataSets);
barChart.setData(data);
barChart.getDescription().setEnabled(false);
barChart.setDrawBarShadow(false);
barChart.setDrawValueAboveBar(true);
barChart.setMaxVisibleValueCount(10);
barChart.setPinchZoom(false);
barChart.setDrawGridBackground(false);
barChart.animateY(1400, Easing.EaseInOutQuad);
barChart.animateXY(3000, 3000);
Legend l = barChart.getLegend();
l.setWordWrapEnabled(true);
l.setTextSize(14);
l.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.CENTER);
l.setOrientation(Legend.LegendOrientation.HORIZONTAL);
l.setDrawInside(false);
l.setForm(Legend.LegendForm.CIRCLE);
XAxis xAxis = …Run Code Online (Sandbox Code Playgroud)