Hi,
In my application I m using following codes to draw a graph but I want that graph will be displayed on button click :-
import 
@interface frmGraphView : UIView {
}
@end
/////////////////////
//
//  frmGraphView.m
//  UV Alarm
//
//  Created by Aman on 4/4/10.
//  Copyright 2010 MyCompanyName. All rights reserved.
//
import "frmGraphView.h"
@implementation frmGraphView
struct TCo_ordinates
{
    float x;
    float y;
};
(id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) 
{
    // Initialization code
}
return self;
}
/*
 // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
 - (void)viewDidLoad {
 [super viewDidLoad];
 }
 */
/*
 // Override to allow orientations other than the default portrait orientation.
 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
 // Return YES for supported orientations
 return (interfaceOrientation == UIInterfaceOrientationPortrait);
 }
 */
-(void)drawHGrid
{
    //struct gridForXYaxis *gridForX = (struct gridForX *) calloc(sizeof(struct gridFor))
}
(void)drawRect:(CGRect)rect
{   
ifdef _DEBUG
NSLog(@"frmGraph_drawRect_start");
endif
CGContextRef ctx = UIGraphicsGetCurrentContext();
struct TCo_ordinates *tCoordianates; //creating the object of structure.
float fltX1,fltX2,fltY1,fltY2=0;
//Dividing the Y-axis
ifdef _DEBUG
NSLog(@"Start drawing Y-Axis");
endif
fltX1 = 25;
fltY1 = 2;
fltX2 = fltX1;
fltY2 = 254;
//CGContextSetRGBStrokeColor(ctx, 2.0, 2.0, 2.0, 1.0);
CGContextSetLineWidth(ctx, 2.0);
CGContextMoveToPoint(ctx, fltX1, fltY1);
CGContextAddLineToPoint(ctx, fltX2, fltY2);
NSArray *hoursInDays = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"11",@"12", nil];
NSMutableArray *yAxisCoordinates = [[[NSMutableArray alloc] init] autorelease];
for(int intIndex = 0  ; intIndex < [hoursInDays count] ; fltY2-=20, intIndex++)
{   
ifdef _DEBUG
NSLog(@"Start of the partition of y axis");
endif
//CGContextSetRGBStrokeColor(ctx, 2, 2, 2, 1); 
//CGContextSetRGBStrokeColor(ctx, 1.0f/255.0f, 1.0f/255.0f, 1.0f/255.0f, 1.0f);   //to draw the black line.
CGContextMoveToPoint(ctx, fltX1-3 , fltY2-20);
CGContextAddLineToPoint(ctx, fltX1+3, fltY2-20);
CGContextSelectFont(ctx, "Helvetica", 12.0, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(ctx, kCGTextFill);
//CGContextSetRGBFillColor(ctx, 0, 255, 255, 1);
CGContextSetStrokeColorWithColor(ctx, [UIColor blueColor].CGColor);
CGAffineTransform xform = CGAffineTransformMake(
                                                1.0,  0.0,
                                                0.0, -1.0,
                                                0.0,  0.0);
CGContextSetTextMatrix(ctx, xform);
const char *arrayDataForYAxis = [[hoursInDays objectAtIndex:intIndex] UTF8String];
CGContextShowTextAtPoint(ctx,fltX1-20 , fltY2-15, arrayDataForYAxis, strlen(arrayDataForYAxis));
CGContextStrokePath(ctx);
ifdef _DEBUG
NSLog(@"End of the partition of graph");
endif
//NSValue *yAxis = [NSValue valueWithCGPoint:CGPointMake((tCoordianates-x = fltX1-21), (tCoordianates-y = fltY2-20))];
//   [yAxisCoordinates addObject:yAxis];    
ifdef _DEBUG
//  NSLog(@"The value of yAxisCoordintes: %@", yAxisCoordinates);
endif
}   
ifdef _DEBUG
NSLog(@"End of drawing Y-Axis");
endif
//Dividing the X-axis   
ifdef _DEBUG
NSLog(@"Start drawing X-Axis");
endif
fltX1 = 25;
fltY1 = 255;
fltX2 = 320;
fltY2 = fltY1; 
CGContextMoveToPoint(ctx, fltX1, fltY1);
CGContextAddLineToPoint(ctx, fltX2, fltY2);
//CGContextSetRGBStrokeColor(ctx, 2, 2, 2, 1);
CGContextSetLineWidth(ctx, 2.0);
NSArray *weekDays =[[NSArray alloc] initWithObjects:@"Sun", @"Mon", @"Tue", @"Wed", @"Thu", @"Fri", @"Sat", nil];
NSMutableArray *xAxisCoordinates = [[[NSMutableArray alloc] init] autorelease];
for(int intIndex = 0  ; intIndex < [weekDays count] ; fltX1+=40, intIndex++)
{   
    //CGContextSetRGBStrokeColor(ctx, 2, 2, 2, 1);
    //CGContextSetStrokeColorWithColor(ctx, [UIColor orangeColor].CGColor);
    CGContextMoveToPoint(ctx, fltX1+40 , fltY2-3);
    CGContextAddLineToPoint(ctx, fltX1+40, fltY2+3);
    CGContextSelectFont(ctx, "Italic", 12.0, kCGEncodingMacRoman);
    CGContextSetTextDrawingMode(ctx, kCGTextFill);
    CGContextSetStrokeColorWithColor(ctx, [UIColor blueColor].CGColor);
    CGAffineTransform xform = CGAffineTransformMake(
                                                    1.0,  0.0,
                                                    0.0, -1.0,
                                                    0.0,  0.0);
    CGContextSetTextMatrix(ctx, xform);
    const char *arrayDataForXAxis = [[weekDays objectAtIndex:intIndex] UTF8String];
    CGContextShowTextAtPoint(ctx, fltX1+27, fltY2+20 , arrayDataForXAxis, strlen(arrayDataForXAxis));
    CGContextStrokePath(ctx);
ifdef _DEBUG
    NSLog(@"End of drawing X-Axis");
endif
    //NSValue *xAxis = [NSValue valueWithCGPoint:CGPointMake((tCoordianates->x = fltX1+40), (tCoordianates->y = fltY2+18))];
 // [xAxisCoordinates addObject:xAxis];
ifdef _DEBUG
    //NSLog(@"The value of xAxisCoordintes: %@", xAxisCoordinates);
    NSLog(@"frmGraph_drawRect_end");
endif
}
CGContextSetLineWidth(ctx, 10.0);
fltX1 = 25;
fltY1 = 235;
fltX2 = 320;
fltY2 = fltY1;
NSArray *coordinate1 = [[NSArray alloc] initWithObjects:@"65",@"105",@"145",@"185",@"225",@"265",@"305",nil];
NSArray *coordinate2 = [[NSArray alloc] initWithObjects:@"214",@"174",@"154",@"134",@"114",@"74",@"34",nil];
ifdef _DEBUG
NSLog(@"Fuction of Bar_start");
endif
for(int intIndex = 0; intIndex < [coordinate1 count], intIndex < [coordinate2 count]; fltX1+=40, intIndex++)
{ 
    //CGContextSetRGBFillColor(ctx, 0, 0, 245, 1);
    CGContextMoveToPoint(ctx, fltX1+40, fltY2+19);
    const char *arrayDataForCoordinate1 = [[coordinate1 objectAtIndex:intIndex] UTF8String];
    const char *arrayDataForCoordinate2 = [[coordinate2 objectAtIndex:intIndex] UTF8String];
    CGContextAddLineToPoint(ctx, (atof(arrayDataForCoordinate1)), atof(arrayDataForCoordinate2));
}
ifdef _DEBUG
NSLog(@"Fuction of Bar_end");
endif
CGContextClosePath(ctx);    
CGContextStrokePath(ctx);
[hoursInDays release];
[weekDays release];
[coordinate1 release];
[coordinate2 release];
hoursInDays = nil;
weekDays = nil;
coordinate1 = nil;
coordinate2 = nil;
}
- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
(void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
(void)dealloc {
[super dealloc];
}
@end
please help me out its urgent