Я генерирую классический линейный график, используя основную графику, которая хорошо отрисовывается и работает.
Есть несколько линий, которые укладываются одна за другой, используя "layer.zPosition"
-(void)drawRect:(CGRect)rect {
float colorChange = (0.1 * [self tag]);
theFillColor = [UIColor colorWithRed:(colorChange) green:(colorChange*0.50) blue:colorChange alpha:0.75f].CGColor;
CGContextRef c = UIGraphicsGetCurrentContext();
CGFloat white[4] = {1.0f, 1.0f, 1.0f, 1.0f};
CGContextSetFillColorWithColor(c, theFillColor);
CGContextSetStrokeColor(c, white);
CGContextSetLineWidth(c, 2.0f);
CGContextBeginPath(c);
//
CGContextMoveToPoint(c, 0.0f, 200-[[array objectAtIndex:0] floatValue]);
CGContextAddLineToPoint(c, 0.0f, 200-[[array objectAtIndex:0] floatValue]);
//
distancePerPoint = (rect.size.width / [array count]);
float lastPointX = 750.0;
for (int i = 0 ; i < [array count] ; i++)
{
CGContextAddLineToPoint(c, (i*distancePerPoint), 200-[[array objectAtIndex:i] floatValue]);
lastPointX = (i*distancePerPoint);
}
//
CGContextAddLineToPoint(c, lastPointX, 200.0);
CGContextAddLineToPoint(c, 0, 200);
CGContextClosePath(c);
//
//CGContextFillPath(c);
CGContextDrawPath(c, kCGPathFillStroke);
//CGContextDrawPath(c, kCGPathStroke);
}
(Приведенный выше код генерирует следующий результат):
![enter image description here](https://i.stack.imgur.com/zk9NL.jpg)
(Я могу опубликовать код, который я использую для 3D-эффекта, если необходимо, но способ, которым я делаю это, в общем
CATransform3D вращениеAndPerspectiveTransform = CATransform3DIdentity;)
Вопрос:
Как я могу преобразовать мой линейный график, чтобы иметь глубину?
Я хотел бы иметь «глубину» для графика линий (ий), что сделает их ленточными, а позже я бы хотел представить их с помощью поворота и преобразования перспективы (как указано выше)
![enter image description here](https://i.stack.imgur.com/CMmwP.jpg)