我正在使用MPAndroidChart创建分组数据集,但在这一行显示错误BarData data = new BarData(labels,dataSets );
,即Unable to resolve constructor,BarData(java.util.ArrayList)<java.lang.String>,java.util.ArrayList<com.github.mikephil.charting.data.BarDataSet;>
我还转换了IBarDataSet
,然后应用程序得到Unfortunately Stopped
。我使用了依赖compile 'com.github.PhilJay:MPAndroidChart:v2.2.4'
。来人啊救救我!!
//create BarEntry for group 1
ArrayList<BarEntry> group1 = new ArrayList<>();
group1.add(new BarEntry(4f, 0));
group1.add(new BarEntry(8f, 1));
group1.add(new BarEntry(6f, 2));
group1.add(new BarEntry(12f, 3));
group1.add(new BarEntry(18f, 4));
group1.add(new BarEntry(9f, 5));
// create BarEntry for group 2
ArrayList<BarEntry> group2 = new ArrayList<>();
group2.add(new BarEntry(6f, 0));
group2.add(new BarEntry(7f, 1));
group2.add(new BarEntry(8f, 2));
group2.add(new BarEntry(12f, 3));
group2.add(new BarEntry(15f, 4));
group2.add(new BarEntry(10f, 5));
// creating dataset for group1
BarDataSet barDataSet1 = new BarDataSet(group1, "Brand 1");
barDataSet1.setColors(ColorTemplate.COLORFUL_COLORS);
// creating dataset for group2
BarDataSet barDataSet2 = new BarDataSet(group2, "Brand 2");
barDataSet2.setColors(ColorTemplate.COLORFUL_COLORS);
// combined all dataset into an arraylist
ArrayList<BarDataSet> dataSets = new ArrayList<>();
dataSets.add(barDataSet1);
dataSets.add(barDataSet2);
ArrayList<String> labels = new ArrayList<>();
labels.add("JAN");
labels.add("FEB");
labels.add("MAR");
labels.add("APR");
labels.add("MAY");
labels.add("JUN");
BarData data = new BarData(labels,dataSets );// initialize the Bardata with argument labels and dataSet
barChartGroup.setData(data);
我想像下面的例子一样获取数据集:-
谢谢!
4条答案
按热度按时间jjhzyzn01#
由于版本v3.0.0带来了与分组
BarChart
的绘制相关的重大更改,因此您应该修改依赖项以获得最新版本。那么,如何为数据组定义
BarData
呢?根据官方Wiki的example for "Grouped BarChart",您可以这样做:该示例还示出了如何设置条宽度和条/条组之间的间隙。
顺便说一下,
MPandroidChart
依赖于你的条目被排序。未排序的列表可能会也可能不会正确绘制。除此之外,至少在示例中,两组条目具有相同的x值集合,因此填充缺失值可能是一个好主意。关于标签:好像现在还不能像你这样设置标签。有关在x轴上使用自定义
ValueFormatter
的解决方法,请参阅SO post by TR4Android。wr98u20j2#
这是一个完整代码
信用https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartExample/src/main/java/com/xxmassdeveloper/mpchartexample/CombinedChartActivity.java
e3bfsja23#
这里有一个很好的例子here,看看吧。
以下是生成的分组BarChart
js5cn81o4#
在您的情况下,您有两个品牌{品牌1,品牌2 },MPANDROID图表支持绘图栏明确gouped。
1.在本例中,必须创建两个listbarEntries来组装数据,两个BarDataSet如下所示表示每个组:BarDataSet barDataSet 1 =new barDataSet(listbarEntries 1,“Brand 1”)BarDataSet barDataSet 2 =new BarDataSet(listbarEntries 2,“Brand 2”)之后,您可以将barDataSet添加到BarChart。
示例: