-(UIImage )produceGoogleChartImage:(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
error:&error]; NSLog(@"%@",error); NSLog(@"%@",response); NSLog(@"%@",imageData);
UIImage *myimage = [[UIImage alloc] initWithData:imageData];
return myimage;
// Chart Wizard: https://developers.google.com/chart/image/docs/chart_wizard
}
-(void)test{
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:width chartHight:hight lagendLabel:legendLabel minScale:minScale maxScale:maxScale];
_chartImage.image=myimage;
}
嗨Emre,有沒有一個地方有一些谷歌圖表的目標c的例子,就像你在這裏? – Luda
Luda您可以查看https://developers.google.com/chart以獲得一些示例!你可以在我的問題中使用上面的技巧來展示它 – Oblieapps