绘制三个以上的数据集时,iOS图表不显示值标签

时间:2018-11-12 00:59:36

标签: ios objective-c charts ios-charts

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

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

我正在为每个数据集使用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轴的右侧。

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

1 个答案:

答案 0 :(得分:0)

我在viewDidLoad中的一行中第一次设置图表的地方修复了该问题。

_chartView.maxVisibleCount = 500;

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

我在修改数据集的drawValuesEnabled字段时发现了这一点,并且在自动完成文本中显示“达到maxVisibleCount时将忽略此值”。