iOS 当绘制超过 3 个数据集时,图表不显示值标签
iOS Charts does not show value labels when more than 3 data sets are plotted
我在 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 轴上有两个数据集。
有人知道为什么我的标签没有显示吗?
我在第一次设置图表的 viewDidLoad 中用一行解决了这个问题。
_chartView.maxVisibleCount = 500;
我想在添加第 4 个数据集后,我得到的值超过了 maxVisibleCount 的默认值(不管是什么),当发生这种情况时,无论其他设置如何,都不会绘制数据标签。
我在修改我的数据集的 drawValuesEnabled 字段时发现了这一点,在自动完成文本中它说 "this value is ignored when maxVisibleCount is reached"。
我在 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 轴上有两个数据集。
有人知道为什么我的标签没有显示吗?
我在第一次设置图表的 viewDidLoad 中用一行解决了这个问题。
_chartView.maxVisibleCount = 500;
我想在添加第 4 个数据集后,我得到的值超过了 maxVisibleCount 的默认值(不管是什么),当发生这种情况时,无论其他设置如何,都不会绘制数据标签。
我在修改我的数据集的 drawValuesEnabled 字段时发现了这一点,在自动完成文本中它说 "this value is ignored when maxVisibleCount is reached"。