0

我正在尝试构建条形图,其中 x 值的 y 值数量可变(例如,对于 x=1,我想要 3 个数据条目,对于 x=2 1 个数据条目等)。

使用 ios-charts,问题是该图表由于某种原因错误地放置了条形图。为我的图表使用以下数据源:

    BarChartDataEntry *entry = [[BarChartDataEntry alloc] initWithValues:@[@1] xIndex:0];
    BarChartDataEntry *entry2 = [[BarChartDataEntry alloc] initWithValues:@[@4] xIndex:0];
    BarChartDataSet *set = [[BarChartDataSet alloc] initWithYVals:@[entry,entry2] label:@"test1"];

    BarChartDataEntry *entry3 = [[BarChartDataEntry alloc] initWithValues:@[@6] xIndex:1];
    BarChartDataEntry *entry4 = [[BarChartDataEntry alloc] initWithValues:@[@7] xIndex:1];
    BarChartDataSet *set2 = [[BarChartDataSet alloc] initWithYVals:@[entry3,entry4] label:@"test2"];

    BarChartDataEntry *entry5 = [[BarChartDataEntry alloc] initWithValues:@[@3] xIndex:2];
    BarChartDataSet *set3 = [[BarChartDataSet alloc] initWithYVals:@[entry5] label:@"test3"];

    NSArray *tstArr = @[set, set2, set3];

   //x-values
   <__NSArrayM 0x7a897960>(
   02.júla.15,
   23.júla.15,
   24.júla.15
   )

    BarChartData *data = [[BarChartData alloc] initWithXVals:xVals dataSets:tstArr];

产生以下 Horizo​​ntalBarChart:

图形

查看文档,我什至不确定这是否可能与 ios-charts 有关。也许自动布局与它有关。如果有使用这个库经验的人可以贡献,我会很高兴。或者,我可能不得不使用核心情节。

编辑:我注意到我的逻辑是错误的,我创建了堆叠条而不是多个条。我将代码更改为

    BarChartDataEntry *entry = [[BarChartDataEntry alloc] initWithValues:@[@1] xIndex:0];
    BarChartDataEntry *entry2 = [[BarChartDataEntry alloc] initWithValues:@[@4] xIndex:0];
    BarChartDataSet *set = [[BarChartDataSet alloc] initWithYVals:@[entry] label:@"test1"];
    BarChartDataSet *set2 = [[BarChartDataSet alloc] initWithYVals:@[entry2] label:@"test2"];

    BarChartDataEntry *entry3 = [[BarChartDataEntry alloc] initWithValues:@[@6] xIndex:1];
    BarChartDataEntry *entry4 = [[BarChartDataEntry alloc] initWithValues:@[@7] xIndex:1];
    BarChartDataSet *set3 = [[BarChartDataSet alloc] initWithYVals:@[entry3] label:@"test3"];
    BarChartDataSet *set4 = [[BarChartDataSet alloc] initWithYVals:@[entry4] label:@"test4"];

所以我有多个数据集用于单个 x 点。这工作得更好一些,但图表仍然不理解我的数据源并将所有内容放入单个 x 点(注意黑色选择的列)

图2

4

1 回答 1

1

这是一个错误,而且,我想你已经在 github 上打开了这个问题,对吧?无论如何,您应该能够继续修复:https ://github.com/danielgindi/ios-charts/pull/248 。

如果一组有两个柱,应该只有两个dataSet,而不是4个,每个dataSet有两个dataEntries。您使用的有 4 个数据集,它会为每个 x 轴区域留下更多空间,这就是它不居中的原因。

于 2015-07-28T04:13:33.267 回答