我需要帮助,请帮助我。这是我的情况:
这就是我现在所拥有的。红色图的值为190.黄色图的值为63.3。我想在黄色上方绘制红色的一个。这意味着黄色图具有baseValue = 0并且红色图具有baseValue =黄色的tip值。我使用CPTBarPlotFieldBarBase来更改红色图的baseValue(设置barBaseValue = Yes)。正如我所料,该指数的两个地块的总价值= 190 + 63.3 = 253.3。不幸的是,总数的结果只有190,这只是红色图的价值。
因此,我的问题是如何仍然以这种格式显示图形图的值,但该索引处的2个图的总高度必须为253.3(我不需要显示该数字)。我只是想让图形高度看起来像它的值一样
此图的总值为97,略低于100。
请帮帮我。我很感激帮助。
答案 0 :(得分:2)
Core Plot不会为您进行堆叠计算。使红色条的尖端值为253.3(190 + 63.3)。
答案 1 :(得分:1)
好的只想分享。正如埃里克所指出的那样“将红杆的尖端值设为253.3(190 + 63.3)”,但他没有提到如何。我就是这样做的。首先,绘制一个红色条,其值为总共2个值(红色+黄色)。然后绘制黄色条与红色条重叠,它与baseValue具有相同的红色图。这是诀窍,当我标记te红色图时,我使用的是实际值,而不是总值。这是我用来修改标签的功能。
-(CPTLayer *)dataLabelForPlot:(CPTPlot *)plot recordIndex:(NSUInteger)index {
CPTTextLayer *label;
if (red_plot.identifier){
label = [[CPTTextLayer alloc] initWithText:[NSString stringWithFormat:@"%@", [_charDataOfRed objectAtIndex:index]]];
}
else{
label = [[CPTTextLayer alloc] initWithText:[NSString stringWithFormat:@"%@", [_charDataOfYellow objectAtIndex:index]]];
}
CPTMutableTextStyle *textStyle = [label.textStyle mutableCopy];
textStyle.color = [CPTColor redColor];
label.textStyle = textStyle;
[textStyle release];
return [label autorelease];
希望这有帮助!