我正在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轴的右侧。
有人知道为什么我的标签不显示吗?
答案 0 :(得分:0)
我在viewDidLoad中的一行中第一次设置图表的地方修复了该问题。
_chartView.maxVisibleCount = 500;
我猜想在添加第4个数据集后,我的值超过了maxVisibleCount的默认值(无论是什么值),并且发生这种情况时,无论其他设置如何,都不会绘制数据标签。
我在修改数据集的drawValuesEnabled字段时发现了这一点,并且在自动完成文本中显示“达到maxVisibleCount时将忽略此值”。