gpt4 book ai didi

android - MPAndroidChart 条形图分组数据集

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:04:27 25 4
gpt4 key购买 nike

我正在使用 MPAndroidChart library发布 v2.我正在尝试显示 3 个条形图,其中的数据来自数据库。不幸的是,他们的数据没有看到 3 个条形,而是以相同的结果查看它们。请参阅屏幕截图。感谢您的帮助。

int [] x = {1,2,3};
Cursor c = db.rawQuery(sql, null);
int count = c.getCount();

float value1 ;
float value2 ;
float value3 ;
String[] mesi = new String[count];

for(int n=0; n<count; n++) {
c.moveToNext();
mesi[n]= c.getString(0);
value1 = c.getFloat(1);
value2 = c.getFloat(2);
value3 = c.getFloat(3);

ArrayList<String> xVals = new ArrayList<String>();
for (int i = 0; i <x.length; i++) {
xVals.add(x.length + " " + mChart.getUnit());
}

ArrayList<BarEntry> yVals1 = new ArrayList<BarEntry>();
ArrayList<BarEntry> yVals2 = new ArrayList<BarEntry>();
ArrayList<BarEntry> yVals3 = new ArrayList<BarEntry>();

for (int i = 0; i < x.length; i++) {
yVals1.add(new BarEntry(value1, i));
}

for (int i = 0; i < x.length; i++) {
yVals2.add(new BarEntry(value2, i));
}

for (int i = 0; i < x.length; i++) {
yVals3.add(new BarEntry(value3, i));
}

// create 3 datasets with different types
BarDataSet set1 = new BarDataSet(yVals1, "Company A");
set1.setColor(Color.rgb(104, 241, 175));
BarDataSet set2 = new BarDataSet(yVals2, "Company B");
set2.setColor(Color.rgb(164, 228, 251));
BarDataSet set3 = new BarDataSet(yVals3, "Company C");
set3.setColor(Color.rgb(242, 247, 158));

ArrayList<BarDataSet> dataSets = new ArrayList<BarDataSet>();
dataSets.add(set1);
dataSets.add(set2);
dataSets.add(set3);

BarData data = new BarData(xVals, dataSets);

// add space between the dataset groups in percent of bar-width
data.setGroupSpace(0);

mChart.setData(data);
mChart.invalidate();

}
c.close();
db.close();

}

结果 enter image description here

最佳答案

您是否对图表应显示的值进行了 logcat 输出?也许它们没有正确存储在数据库中。

你的代码对我来说似乎是正确的。

您也可以通过简单地提供一个预定义的值来测试它,例如所有条形均为 50,看看它是否绘制正确。

要更改颜色调用:

BarDataSet.setColor(...);

更新:现在在库的官方 GitHub 页面上提供了关于如何创建分组 BarCharts 的非常详细的教程,基于版本 v3.0.0:Grouped BarChart tutorial

关于android - MPAndroidChart 条形图分组数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26876775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com