Я написал функцию, которая получает все необходимые параметры, создает диаграмму Google и преобразует ее в UIImage
.

Вот оно:
- (UIImage ) yieldGoogleChartImage: (NSString ) title
xAxis:(NSArray*)axisXLabels
yAxis:(NSArray*)axisYLabels
andData:(NSArray*)dataValues
color:(NSString*)lineColor
chartWidth:(NSNumber*)width
chartHight:(NSNumber*)hight
lagendLabel:(NSString*)legend
minScale:(NSNumber*)minScale
maxScale:(NSNumber*)maxScale{
NSMutableString *myurl = [NSMutableString stringWithString:@"http://chart.googleapis.com/chart?chxl=0:|"];
//axisXLabels
int countAxisXLabels = [axisXLabels count];
for(NSUInteger i = 0; i < countAxisXLabels; ++i)
{
NSNumber *value = [axisXLabels objectAtIndex:i];
[myurl appendFormat:@"%@", value];
if(i < countAxisXLabels - 1)
[myurl appendString:@"|"];
}
[myurl appendString:@"|1:|"];
//axisYLabels
int countAxisYLabels = [axisYLabels count];
for(NSUInteger i = 0; i < countAxisYLabels; ++i)
{
NSNumber *value = [axisYLabels objectAtIndex:i];
[myurl appendFormat:@"%@", value];
if(i < countAxisYLabels - 1)
[myurl appendString:@"|"];
}
[myurl appendString:@"&chxr=0,0,105|1,3.333,100&chxt=x,y&chs="];
//size
[myurl appendFormat:@"%@x%@&cht=lc&chd=t:", width,hight];
//dataValues
int countDataValues = [dataValues count];
for(NSUInteger i = 0; i < countDataValues; ++i)
{
NSNumber *value = [dataValues objectAtIndex:i];
[myurl appendFormat:@"%@", value];
if(i < countDataValues - 1)
[myurl appendString:@","];
}
//legend
[myurl appendFormat:@"&chdl=%@&chg=25,50&chls=2&",legend];
//color
[myurl appendFormat:@"chm=o,%@,0,-2,8&chco=%@",lineColor,lineColor];
//title
[myurl appendFormat:@"&chtt=+%@",title];
//scale
[myurl appendFormat:@"&chds=%@,%@",minScale,maxScale];
NSString *theurl=[myurl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:theurl]
cachePolicy: NSURLRequestUseProtocolCachePolicy
timeoutInterval: 60,0];
NSURLResponse* response;
NSError* error;
NSData *imageData=[NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response
ошибка: & ошибка];
NSLog (@ "% @", ошибка);
NSLog (@ "% @", ответ);
NSLog (@ "% @", ImageData);
UIImage *myimage = [[UIImage alloc] initWithData:imageData];
return myimage;
// Chart Wizard: https://developers.google.com/chart/image/docs/chart_wizard
}
А вот и функция проверки:
- (Недействительными) тест {
NSString* title = @"Height History";
NSArray *axisXLabels = [NSArray arrayWithObjects:
@"Jan",
@"Feb",
@"Mar",
@"Jun",
@"Jul",
@"Aug",
nil];
NSArray *axisYLabels = [NSArray arrayWithObjects:
[NSNumber numberWithInt:0],
[NSNumber numberWithInt:50],
[NSNumber numberWithInt:150],
[NSNumber numberWithInt:200],
nil];
NSArray *dataValues = [NSArray arrayWithObjects:
[NSNumber numberWithInt:130],
[NSNumber numberWithInt:140],
[NSNumber numberWithInt:140],
[NSNumber numberWithInt:150],
[NSNumber numberWithInt:170],
[NSNumber numberWithInt:180],
nil];
NSString *lineColor = @"FF9900";
NSNumber *width = [NSNumber numberWithInt:300];
NSNumber *hight = [NSNumber numberWithInt:200];
NSNumber *minScale = [NSNumber numberWithInt:0];
NSNumber *maxScale = [NSNumber numberWithInt:200];
NSString *legendLabel = @"cm";
UIImage *myimage =[self produceGoogleChartImage:title xAxis:axisXLabels yAxis:axisYLabels andData:dataValues color:lineColor
chartWidth: ширина chartHight: высота lagendLabel: legendLabel
minScale: minScale maxScale: maxScale];
_chartImage.image=myimage;
}
Вы должны получить изображение, подобное изображенному в вопросе.