带有MPAndroidChar的GroupBar(android studio)
我试图用MPAndroidChar制作一张图表,显示每年3个学期(每个学期涂上不同的颜色),在每个学期的顶部有本学期的成绩 我成功地绘制了一张图表,但我不知道如何将所有的学期分为一年 运行应用程序后,我附加了条形码、xml和屏幕截图。 守则:带有MPAndroidChar的GroupBar(android studio),android,android-studio,charts,mpandroidchart,Android,Android Studio,Charts,Mpandroidchart,我试图用MPAndroidChar制作一张图表,显示每年3个学期(每个学期涂上不同的颜色),在每个学期的顶部有本学期的成绩 我成功地绘制了一张图表,但我不知道如何将所有的学期分为一年 运行应用程序后,我附加了条形码、xml和屏幕截图。 守则: BarChart chart = (BarChart) findViewById(R.id.chart); ArrayList<BarEntry> vals1 = new ArrayList<BarEntry>();
BarChart chart = (BarChart) findViewById(R.id.chart);
ArrayList<BarEntry> vals1 = new ArrayList<BarEntry>();
ArrayList<BarEntry> vals2 = new ArrayList<BarEntry>();
ArrayList<BarEntry> entries = new ArrayList<>();
entries.add(new BarEntry(90, 0)); //year 1 - sem 1
entries.add(new BarEntry(69, 1)); //year 1 - sem 2
entries.add(new BarEntry(96, 2)); //year 1 - sem 3
BarDataSet dataset = new BarDataSet(entries, "# of Calls");
ArrayList<String> labels = new ArrayList<String>();
labels.add("year 1");
labels.add("year 1");
labels.add("year 1");
BarData data = new BarData(labels, dataset);
chart.setData(data);
chart.setDescription("# of times Alice called Bob");
BarChart chart=(BarChart)findviewbyd(R.id.chart);
ArrayList vals1=新的ArrayList();
ArrayList vals2=新的ArrayList();
ArrayList条目=新的ArrayList();
增加(新巴伦特里(90,0))//第一年-sem 1
增加(新巴伦特里(69,1))//第一年-2
增加(新巴伦特里(96,2))//第一年-3
BarDataSet数据集=新的BarDataSet(调用项“#”);
ArrayList标签=新的ArrayList();
标签。添加(“第1年”);
标签。添加(“第1年”);
标签。添加(“第1年”);
BarData数据=新的BarData(标签、数据集);
图表.设置数据(数据);
chart.setDescription(“爱丽丝叫鲍勃的时代”);
BarChart.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/bottomSection"
android:padding="10dp">
<com.github.mikephil.charting.charts.BarChart
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>
代码结果:
我想要什么(很抱歉,我做了最糟糕的编辑):
为此,您必须使用多个条形图
为此,您必须使用多个条形图
条形图=(条形图)查找视图id(R.id.chart);
ArrayList vals1=新的ArrayList();
ArrayList vals2=新的ArrayList();
ArrayList vals3=新的ArrayList();
vals1.添加(新巴伦特里(90,0));
vals2.添加(新巴伦特里(69,1));
vals3.添加(新巴伦特里(96,2));
BarDataSet datasetSem1=新的BarDataSet(vals1,调用次数);
datasetSem1.setColor(Color.RED);
BarDataSet datasetSem2=新的BarDataSet(vals2,调用次数);
datasetSem2.setColor(Color.GREEN);
BarDataSet datasetSem3=新的BarDataSet(vals3,调用次数);
datasetSem3.setColor(Color.BLUE);
列表数据集=新的ArrayList();
dataSets.add(datasetSem1);
dataSets.add(datasetSem2);
dataSets.add(datasetSem3);
ArrayList标签=新的ArrayList();
标签。添加(“第1年”);
标签。添加(“第1年”);
标签。添加(“第1年”);
BarData数据=新的BarData(标签、数据集);
图表.设置数据(数据);
条形图=(条形图)查找视图id(R.id.chart);
ArrayList vals1=新的ArrayList();
ArrayList vals2=新的ArrayList();
ArrayList vals3=新的ArrayList();
vals1.添加(新巴伦特里(90,0));
vals2.添加(新巴伦特里(69,1));
vals3.添加(新巴伦特里(96,2));
BarDataSet datasetSem1=新的BarDataSet(vals1,调用次数);
datasetSem1.setColor(Color.RED);
BarDataSet datasetSem2=新的BarDataSet(vals2,调用次数);
datasetSem2.setColor(Color.GREEN);
BarDataSet datasetSem3=新的BarDataSet(vals3,调用次数);
datasetSem3.setColor(Color.BLUE);
列表数据集=新的ArrayList();
dataSets.add(datasetSem1);
dataSets.add(datasetSem2);
dataSets.add(datasetSem3);
ArrayList标签=新的ArrayList();
标签。添加(“第1年”);
标签。添加(“第1年”);
标签。添加(“第1年”);
BarData数据=新的BarData(标签、数据集);
图表.设置数据(数据);
你有没有图片可以说明你想添加到主帖子的结果。你有没有图片可以说明你想添加到主帖子的结果。我做了,但是,我如何向图表中添加新数据?你说的新数据是什么意思?我的意思是,我如何创建图表-添加“第1年”,并在第1年中插入semA、semB、semC的值..我给了你一个链接sameI中有一个例子,但是我怎样才能向图表中添加新数据呢?你说的新数据是什么意思?我的意思是,我如何实质性地创建图表-添加“第一年”,并在第一年中插入semA、semB、semC的值。我已经给了你链接,在同一个链接中有一个示例
BarChart chart = (BarChart) findViewById(R.id.chart);
ArrayList<BarEntry> vals1 = new ArrayList<BarEntry>();
ArrayList<BarEntry> vals2 = new ArrayList<BarEntry>();
ArrayList<BarEntry> vals3 = new ArrayList<BarEntry>();
vals1.add(new BarEntry(90, 0));
vals2.add(new BarEntry(69, 1));
vals3.add(new BarEntry(96, 2));
BarDataSet datasetSem1 = new BarDataSet(vals1, "# of Calls");
datasetSem1.setColor(Color.RED);
BarDataSet datasetSem2 = new BarDataSet(vals2, "# of Calls");
datasetSem2.setColor(Color.GREEN);
BarDataSet datasetSem3 = new BarDataSet(vals3, "# of Calls");
datasetSem3.setColor(Color.BLUE);
List<BarDataSet> dataSets = new ArrayList<>();
dataSets.add(datasetSem1);
dataSets.add(datasetSem2);
dataSets.add(datasetSem3);
ArrayList<String> labels = new ArrayList<String>();
labels.add("year 1");
labels.add("year 1");
labels.add("year 1");
BarData data = new BarData(labels, dataSets);
chart.setData(data);