绘制超过3个数据集时,iOS图表不显示值标签



我在Objective-C中使用iOS的图表框架。

我试图在一个有4个数据集的图表上绘制数据值标签(y值(。如果我的图表上有1、2或3个数据集,则标签值显示得很好。如果添加第四个数据集,则标签值根本不会显示。

我为每个数据集使用UIColor对象的NSMutableArray。当我不希望标签显示时,我将标签颜色设置为[UIColor clearColor],当我确实希望它显示时,为每个数据点将其设置为[UIColor whiteColor]。

NSMutableArray *labelColors = [[NSMutableArray alloc] init];
for (NSDictionary *data in dataArray )
{
if (condition)
{
[labelColors addObject:UIColor.whiteColor];
}
else
{
[labelColors addObject:UIColor.clearColor];
}
}
dataSet.valueColors = labelColors;

同样,如果在X轴上绘制1、2或3个数据集,此技术也可以正常工作,但如果绘制第4个数据集则会完全停止绘制标签。按照我设置图表的方式,两个数据集在左Y轴上,两个在右Y轴上。

有人知道为什么我的标签没有显示吗?

我用viewDidLoad中的一行修复了这个问题,这是我第一次设置图表的地方。

_chartView.maxVisibleCount = 500;

我想在添加第四个数据集后,我的数据超过了maxVisibleCount的默认值(无论是什么(,当这种情况发生时,无论其他设置如何,都不会绘制数据标签。

我在修改数据集的drawValuesEnabled字段时发现了这一点,在自动完成的文本中,它说"当达到maxVisibleCount时,该值将被忽略"。

最新更新