私は各データで一緒にグループ化された3種類のデータセットがそうのような点に棒グラフを作りたい:MPAndroidChart棒グラフ - グループ間にランダムなx軸間隔の棒をグループ化する方法は?
しかし、私はグループすることができませんバーが一緒に関係なくので、ライブラリの提供groupBars
メソッドを使用してエントリに設定したx値は、パラメータで指定した間隔に従ってバーをグループ化します。
たとえば、エントリx値{0、5、13、17 ... 50}を持つデータセットを生成し、 `groupBars 'を呼び出すと、すべてのエントリがx値で1つずつ収集されます。
私が欲しいのは、それぞれに棒をグループ化することで、それぞれが自分の指定したx値で見えるように。私は単にgroupBars
呼び出しを削除した場合、私は私が欲しいものに似ていますが、何かを得ることはありませバーは、すべての重複そうのようなものはかなりあるため:私は上記の画像と同様の結果を得るためにはどうすればよい
が、各データセットのバーが完全に表示されますか?ここではデータセットを生成し、バーをグループ化するための私のコードは次のとおりです。
ArrayList<BarEntry> happinessValues = new ArrayList<>();
ArrayList<BarEntry> stressValues = new ArrayList<>();
ArrayList<BarEntry> painValues = new ArrayList<>();
for (int i = 0; i < 50; ++i) {
happinessValues.add(new BarEntry(
i,
datapoint.getHappiness()));
stressValues.add(new BarEntry(
i,
datapoint.getStress()));
painValues.add(new BarEntry(
i,
datapoint.getPain()));
}
HappinessDataset happyDataset;
BarDataSet stressDataset, painDataset;
happyDataset = new HappinessDataset(happinessValues, "Happiness");
stressDataset = new BarDataSet(stressValues, "Stress");
painDataset = new BarDataSet(painValues, "Pain");
BarData data = new BarData(happyDataset, stressDataset, painDataset);
mChart.setData(data);
mChart.getXAxis().setAxisMinimum(0);
mChart.getXAxis().setAxisMaximum(50);
float groupSpace = 0.4f;
float barSpace = 0f; // x3 DataSet
float barWidth = 0.2f; // x3 DataSet
// (0.2 + 0) * 3 + 0.4 = 1.00 -> interval per "group"
mChart.groupBars(startTime, groupSpace, barSpace);
私は同じ問題を抱えており、1週間から解決しようとしています。さらに、私は、 "groupBars"メソッドを使用し、データがたくさんある場合、バーのサイズは変更されませんが、最初のバーだけが表示されていることを確認しました(私は概要を持っていません) あなたはそれを共有してください?もし私が1つを見つけるなら、私は同じことをするでしょう – Grancein
@GracePii私の掲載された解決策を参照 – damememan