我想打一個柱狀圖,在每個數據分組在一起3個不同的數據集指出,像這樣:MPAndroidChart條形圖 - 如何在組之間分組具有隨機X軸間隔的條形圖?
但是,我無法組棒一起使用圖書館提供groupBars
方法,因爲無論我爲一個條目設置了什麼x值,它根據我在其參數中指定的時間間隔對條進行分組。例如,如果我使用條目x值{0,5,13,17 ... 50}生成一個數據集並調用「groupBars」,那麼我的所有條目都會按照x值分開收集,如下所示:1 2 3 4 5 6 7 8 9 10
我要的是酒吧的每個分組,並且每個可見在其指定的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);
我有同樣的問題,我試圖從一個星期內解決它。此外,我看到如果我使用「groupBars」方法,並且我有很多數據,條不會調整大小,但我只看到第一個條(我沒有概述) 如果您發現解決方案可能你分享一下嗎?我會做同樣的,如果我找到一個 – Grancein
@GracePii看到我發佈的解決方案 – damememan