我在使用BarChart时遇到问题..我的列表中有7个项目。例如
final int[] a = {5,2,10,4,7,8,13};
final String[] b= {"January","February","March","April","May","June","Jully"};
所以我想在Barchart上展示作品。例如,前5个项目显示,当我单击按钮时,剩余2个项目显示在条形图中。图像是,
当我点击" WAFAW"按钮条形图是,
但我的代码是,
所以这意味着不要显示吧......我怎么能这样做?谢谢你......
我的代码是,
final BarChart barChart = (BarChart) findViewById(R.id.chart);
Button button = (Button) findViewById(R.id.button);
final int[] a = {5,2,10,4,7,8,13};
final String[] b= {"January","February","March","April","May","June","Jully"};
final ArrayList<BarEntry> entries = new ArrayList<>();
final ArrayList<String> labels = new ArrayList<String>();
for(int i=0 ; i<5;i++){
entries.add(new BarEntry(a[i],i));
labels.add(b[i]);
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
entries.clear();
labels.clear();
for(int i=5; i<a.length;i++){
entries.add(new BarEntry(a[i],i));
labels.add(b[i]);
}
BarDataSet dataset = new BarDataSet(entries, "# of Calls");
barChart.getXAxis().setPosition(XAxis.XAxisPosition.TOP);
BarData data = new BarData(labels, dataset);
dataset.setColors(ColorTemplate.COLORFUL_COLORS);
barChart.setData(data);
barChart.animateY(3000);
}
});
BarDataSet dataset = new BarDataSet(entries, "# of Calls");
barChart.getXAxis().setPosition(XAxis.XAxisPosition.TOP);
BarData data = new BarData(labels, dataset);
dataset.setColors(ColorTemplate.COLORFUL_COLORS);
barChart.setData(data);
barChart.animateY(3000);
答案 0 :(得分:0)
答案 1 :(得分:0)
据我所知,没有简单的解决方案可以选择显示哪些条形图。这取决于你想要/需要解决它的动态程度。
我能想到的最好的解决方案就是将一系列条形图显示出来:
final int[] show_arr = {0,1,2,3,4,5};
当调用onClick()
时,您将数组更改为
final int[] show_arr = {5,7};
然后再次完成整个绘图程序。
但是您通过show_arr
我知道这不是一个超级好的解决方案,但至少你只需要对矢量进行编码,并且可以重复使用所有其他部分。