{"id":2206,"date":"2012-02-29T11:28:12","date_gmt":"2012-02-29T05:58:12","guid":{"rendered":"http:\/\/blog.fusioncharts.com\/?p=2206"},"modified":"2026-01-20T14:36:51","modified_gmt":"2026-01-20T09:06:51","slug":"create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt","status":"publish","type":"post","link":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/","title":{"rendered":"Create Charts for iPhone and iPad Apps Using FusionCharts XT 2026"},"content":{"rendered":"To provide executives with access to business data on the go, enterprises are adopting iPhones and iPads in droves. Many of these applications need innovative data visualizations but are currently restricted by the limited capabilities of available charting libraries for iOS. Some have limited chart types, whereas others lack visual appeal and interactivity. Open-source libraries are not backed by proper technical support either. So what are your options?\r\n\r\nEnter FusionCharts XT, which addresses all these concerns. Being a <strong><a href=\"https:\/\/www.fusioncharts.com\/\">JavaScript charting library<\/a><\/strong>, it can quickly render charts and widgets within the UIWebView control of an iOS application. With over 90 chart types that are animated and interactive, it augments the visual appeal and functionality of your iOS applications. In addition, dedicated tech support is there to answer any or all of your queries.\r\n\r\n<!--more-->\r\n\r\nYou can either obtain the data from a remote web service or access the local data stores on the device. This data needs to be provided in XML or JSON format that the FusionCharts <a href=\"https:\/\/www.fusioncharts.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">JavaScript graph<\/a> object understands. This blog post will show you how to use FusionCharts XT in an iOS app and power it using data from a web service. We will create the necessary XML and HTML required for the UIWebView to display our chart.\r\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_71 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#Example_%E2%80%93_An_iOS_App_to_Plot_Twitter_Data_Using_FusionCharts_XT\" title=\"Example &#8211; An iOS App to Plot Twitter Data Using FusionCharts XT\">Example &#8211; An iOS App to Plot Twitter Data Using FusionCharts XT<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#Requirements\" title=\"Requirements\">Requirements<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#How_We_Will_Create_the_Chart\" title=\"How We Will Create the Chart\">How We Will Create the Chart<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#Creating_the_Xcode_Project\" title=\"Creating the Xcode Project\">Creating the Xcode Project<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#Designing_and_Coding\" title=\"Designing and Coding\">Designing and Coding<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#Making_FusionCharts_Aware_of_the_Orientation\" title=\"Making FusionCharts Aware of the Orientation\">Making FusionCharts Aware of the Orientation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#Download_Sample_Project\" title=\"Download Sample Project\">Download Sample Project<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#Taking_It_Further\" title=\"Taking It Further\">Taking It Further<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Example_%E2%80%93_An_iOS_App_to_Plot_Twitter_Data_Using_FusionCharts_XT\"><\/span>Example &#8211; An iOS App to Plot Twitter Data Using FusionCharts XT<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nWe will be plotting the count of mentions of &#8216;HTML5&#8217; for each of the last seven days in a UIWebView control using FusionCharts XT. This is how your chart will finally look like in an iPhone:\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2236\" title=\"FusionCharts XT in iPhone Simulator\" src=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator-156x304.png\" alt=\"\" width=\"156\" height=\"304\" \/>\r\n<h2><span class=\"ez-toc-section\" id=\"Requirements\"><\/span>Requirements<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n<ul>\r\n \t<li>Xcode 3.2 and above<\/li>\r\n \t<li><a href=\"https:\/\/www.fusioncharts.com\/download\/\/\" target=\"_blank\" rel=\"noopener noreferrer\">The latest version of FusionCharts XT<\/a><\/li>\r\n \t<li><a href=\"https:\/\/github.com\/johnezang\/JSONKit\" target=\"_blank\" rel=\"noopener noreferrer\">JSONKit library<\/a><\/li>\r\n \t<li>You would need to have internet access too. We will be using the <code>searchhistogram<\/code> query from the Topsy API. The exact query is <code>https:\/\/otter.topsy.com\/searchhistogram.json?q=html5&amp;slice=86400&amp;period=7<\/code>. You may run this query and see the JSON response, which returns the number of times &#8216;HTML5&#8217; was mentioned every day for the last seven days.<\/li>\r\n<\/ul>\r\n<h2><span class=\"ez-toc-section\" id=\"How_We_Will_Create_the_Chart\"><\/span>How We Will Create the Chart<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nTo create the chart, we will go through the following steps:\r\n<ul>\r\n \t<li>Create a View-based project in Xcode<\/li>\r\n \t<li>Use <a href=\"https:\/\/code.google.com\/archive\/p\/otterapi\/wikis\/Resources.wiki#\/searchhistogram\" target=\"_blank\" rel=\"noopener noreferrer\">Topsy&#8217;s Otter API<\/a> to get the count of mentions of &#8216;HTML5&#8217; over the last seven days<\/li>\r\n \t<li>Use <a href=\"https:\/\/github.com\/johnezang\/JSONKit\" target=\"_blank\" rel=\"noopener noreferrer\">JSONKit<\/a> to parse through the received JSON response<\/li>\r\n \t<li>Create the XML data for the chart<\/li>\r\n \t<li>Create the HTML required to show the chart<\/li>\r\n \t<li>Enable rotation of the chart according to the device&#8217;s orientation so that the chart will fit the screen whether the device is in landscape or portrait mode<\/li>\r\n<\/ul>\r\n<h2><span class=\"ez-toc-section\" id=\"Creating_the_Xcode_Project\"><\/span>Creating the Xcode Project<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nLet us open Xcode and create a View-based project, and save it as <em>FusionChartsXTiOSDemo<\/em>.\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2213\" title=\"Create a View-based project in Xcode\" src=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/Create-a-View-based-project-in-Xcode-304x247.png\" alt=\"\" width=\"304\" height=\"247\" \/>\r\n\r\nWe now need to add FusionCharts XT&#8217;s JavaScript files to our project. Copy the JavaScript files present in <code>Download Package &gt; Charts<\/code> to the Xcode Resources project group. Make sure you select the <code>Copy items into destination group\u2019s folder (if needed)<\/code> checkbox on the top. Doing so would ensure that you have a copy of all the JavaScript files local to your application. Click <code>Add<\/code> to add your files to your project.\r\n\r\nWe need to modify Xcode\u2019s compilation step a little bit. Xcode considers JavaScript files as code (rightfully so) and tries to compile them. However, we want these files to render charts inside our UIWebView and not compiled. Expand the <code>Targets<\/code> group and your project target. Our target is called <code>FusionChartsXTiOSDemo<\/code>. Also, expand the <code>Copy Bundle Resources<\/code> and <code>Compile Sources<\/code> build phases. Next, select the JavaScript files and drag them from the compile stage to the copy bundle build phase.\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2214\" title=\"JavaScript files in Copy Bundle\" src=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/JavaScript-files-in-Copy-Bundle.png\" alt=\"\" width=\"321\" height=\"306\" srcset=\"\/blog\/wp-content\/uploads\/2012\/02\/JavaScript-files-in-Copy-Bundle.png 321w, \/blog\/wp-content\/uploads\/2012\/02\/JavaScript-files-in-Copy-Bundle-150x143.png 150w\" sizes=\"auto, (max-width: 321px) 100vw, 321px\" \/>\r\n\r\nAdd the JSONKit files, namely <code>JSONKit.h<\/code> and <code>JSONKit.m<\/code> to your project too. We have now prepared Xcode with all the files necessary. Let us begin designing and coding!\r\n<h2><span class=\"ez-toc-section\" id=\"Designing_and_Coding\"><\/span>Designing and Coding<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nIn <code>FusionChartsXTiOSDemo.h<\/code>, add an <code>IBOutlet<\/code> for the WebView.\r\n<code>@property (nonatomic, retain) IBOutlet UIWebView *webView;<\/code>\r\n\r\nAlso, <code>@synthesize<\/code>and <code>release<\/code> this accordingly.\r\n\r\nOpen your project\u2019s main view controller Interface Builder file (inside the Resources group). For our project this file is called <code>FusionChartsXTiOSDemoViewController.xib<\/code>. To add a WebView control to your app, drag a UIWebView from Interface Builder\u2019s library to our view.\r\n\r\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2217\" title=\"UIWebView control\" src=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/UIWebView-control-193x304.png\" alt=\"\" width=\"193\" height=\"304\" \/>\r\n\r\nWe now need to connect the UIWebView outlet to this UIWebView. From the Document Window in Interface Builder, Ctrl+Drag from <code>File\u2019s Owner<\/code> to the <code>UIWebView<\/code>. You should get a popup bubble, click <code>webView<\/code> . Save your work and close Interface Builder.\r\n\r\nNext, we will add the required properties needed to create the chart data and its configuration. We will write the following code in <code>FusionChartsXTiOSDemo.h<\/code>:\r\n<pre class=\"lang:java\">\/\/ Chart properties.\r\n@property (nonatomic, retain) NSMutableString *htmlContent;\r\n@property (nonatomic, retain) NSMutableString *javascriptPath;\r\n@property (nonatomic, retain) NSMutableString *chartData;\r\n@property (nonatomic, retain) NSMutableString *chartType;\r\n@property (nonatomic, assign) UIInterfaceOrientation currentOrientation;\r\n@property (nonatomic, assign) CGFloat chartWidth;\r\n@property (nonatomic, assign) CGFloat chartHeight;\r\n@property (nonatomic, retain) NSMutableString *debugMode;\r\n@property (nonatomic, retain) NSMutableString *registerWithJavaScript;\r\n<\/pre>\r\nLet us also add the properties we require to perform the HTTP request and to handle the response data:\r\n<pre>\/\/ Twitter data.\r\n@property (nonatomic, retain) NSMutableString *twitterQuery;\r\n@property (nonatomic, retain) NSMutableData *twitterData;\r\n@property (nonatomic, retain) NSDictionary *twitterDataDictionary;\r\n@property (nonatomic, assign) BOOL twitterDataError;\r\n<\/pre>\r\nRemember to <code>@synthesize<\/code> and <code>release<\/code> the above properties correctly.\r\n\r\nDeclare the following 4 methods here; we will define them later.\r\n<pre class=\"lang:java\">- (void)displayDataError;\r\n- (void)createChartData:(UIInterfaceOrientation)interfaceOrientation;\r\n- (void)plotChart;\r\n- (void)removeChart;\r\n<\/pre>\r\nAs a best practice, let us keep our first task to handle any error that might crop up because of connectivity issues. For this, we need to define the <code>displayDataError<\/code> method. We need to create the HTML that displays the error in plain English to the user in his WebView.\r\n<pre>- (void)displayDataError\r\n{\r\n\tNSMutableString *displayErrorHTML = [NSMutableString stringWithString:@\"\"];\r\n\t[displayErrorHTML appendString:@\"\"];\r\n\t[displayErrorHTML appendString:@\"\"];\r\n\t[displayErrorHTML appendString:@\"Unable to plot chart.\r\nError receiving data from Twitter.\r\n\r\n\"];\r\n\t[displayErrorHTML appendString:@\"\"];\r\n\r\n[self.webView loadHTMLString:displayErrorHTML baseURL:nil];\r\n}\r\n<\/pre>\r\nWe have created the HTML content to show in the WebView in case of a network error or in case the Topsy API is unable to respond. Also, we could simulate a network error for testing this method either by unplugging the LAN cable or turning off the WiFi. When you&#8217;ve done either of these, run the project, and this is the error that you should see:\r\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2246\" title=\"Displaying the error in the WebView\" src=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/Displaying-the-error-in-the-WebView-156x304.png\" alt=\"\" width=\"156\" height=\"304\" \/>\r\n\r\nAfter this, let us concern ourselves with the HTTP query and handling its JSON response.\r\n\r\nUncomment the <code>viewDidLoad<\/code> method, and create and execute the query to Topsy&#8217;s API:\r\n<pre class=\"lang:java\">\/\/ Setting up the Twitter query.\r\n\tself.twitterQuery = [NSMutableString stringWithFormat:@\"%@\", @\"https:\/\/otter.topsy.com\/searchhistogram.json?q=html5&amp;slice=86400&amp;period=7\"];\r\n\tNSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:self.twitterQuery]];\r\n\tNSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];\r\n\r\n\t\/\/ Check whether we have a valid connection.\r\n\tif (connection) {\r\n\t\t\/\/ Create the NSMutableData to hold the received data.\r\n\t\tself.twitterData = [NSMutableData data];\r\n\t} else {\r\n\t\t\/\/ Error in receiving data.\r\n\t\tself.twitterDataError = YES;\r\n\t}\r\n\r\n\t\/\/ Done using the connection.\r\n\t[connection release];\r\n\r\n<\/pre>\r\nNow that we have made the connection, we need to prepare the four delegates of <code>NSURLConnection<\/code>.\r\n\r\nWe should reset all previous data each time we receive a message at <code>connection:didReceiveResponse<\/code>.\r\n<pre class=\"lang:java\">- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response\r\n{\r\n    \/\/ This method is called when the server has determined that it\r\n    \/\/ has enough information to create the NSURLResponse.\r\n\r\n    \/\/ It can be called multiple times, for example, in the case of a\r\n    \/\/ redirect, so each time we reset the data.\r\n\r\n\t\/\/ (Re)Initialize the Twitter data store.\r\n    [self.twitterData setLength:0];\r\n}\r\n<\/pre>\r\nLet us implement the delegate that stores the newly sent data.\r\n<pre class=\"lang:java\">- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data\r\n{\r\n    \/\/ Store received data.\r\n    [self.twitterData appendData:data];\r\n}\r\n<\/pre>\r\nIf NSURLConnection returns an error while loading the data, let us explain it in plain English to the user using our own method <code>displayDataError<\/code>.\r\n<pre class=\"lang:java\">- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error\r\n{\r\n\t\/\/ Display an error on connection failure.\r\n\t[self displayDataError];\r\n}\r\n<\/pre>\r\nFinally, using JSONKit, let us convert the data stored in <code>self.twitterData<\/code> to a dictionary. Once the data has been converted, we call the <code>createChartData::(UIInterfaceOrientation)interfaceOrientation<\/code> method.\r\n<pre class=\"lang:java\">- (void)connectionDidFinishLoading:(NSURLConnection *)connection\r\n{\r\n\t\/\/ Convert received JSON data to an Objective-C dictionary.\r\n\tself.twitterDataDictionary = [self.twitterData objectFromJSONData];\r\n\r\n\t\/\/ Create chart as per current orientation.\r\n\tself.currentOrientation = self.interfaceOrientation;\r\n\t[self createChartData:self.currentOrientation];\r\n}\r\n<\/pre>\r\nIn the <code>createChartData::(UIInterfaceOrientation)interfaceOrientation<\/code> method, we need to parse through the dictionary and form our XML. Note that the dictionary has two keys named <code>request<\/code> and <code>response<\/code>. Within <code>response<\/code>, there is an array named <code>histogram<\/code>, which holds the count of mentions of &#8216;HTML5&#8217; for the last seven days. We need to get hold of this array in <code>NSArray<\/code>.\r\n<pre class=\"lang:java\">- (void)createChartData:(UIInterfaceOrientation)interfaceOrientation\r\n{\r\n\t\/\/ Check whether we have valid data.\r\n\tif (self.twitterDataError) {\r\n\t\t[self displayDataError];\r\n\t} else {\r\n\t\t\/\/ Valid data.\r\n\r\n\t\tself.chartWidth = 300;\r\n\t\tself.chartHeight = 440;\r\n\r\n\t\t\/\/ Setup chart XML.\r\n\t\tNSDictionary *responseData = [self.twitterDataDictionary objectForKey:@\"response\"];\r\n\t\tNSArray *histogramData = [responseData objectForKey:@\"histogram\"];\r\n\r\n<\/pre>\r\nWe continue the same code block to iterate through <code>histogramData<\/code> and form the chart data in XML. Since the numbers in the array are for the previous seven days, starting from yesterday, we need to calculate and format the date accordingly.\r\n<pre class=\"lang:java\">\t\tself.chartData = [NSMutableString string];\r\n\t\t[self.chartData appendFormat:@\"\"];\r\n\t\tNSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];\r\n\t\t[dateFormatter setDateStyle:NSDateFormatterShortStyle];\r\n\t\tfor (int i = 0; i &lt; [histogramData count]; i++) {\r\n\t\t\t[self.chartData appendFormat:@\"\", [dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSinceNow:-(i+1)*86400]], [histogramData objectAtIndex:i]];\r\n\t\t}\r\n\t\t[self.chartData appendFormat:@\"\"];\r\n\t\t[dateFormatter release];\r\n\r\n<\/pre>\r\nIn the same code block, we create the HTML required to show the chart. Note the path of <code>FusionCharts.js<\/code> in the <code><\/code> tag. We will provide the base URL when we actually load the HTML in the WebView.\r\n<pre class=\"lang:java\">\/\/ Setup chart HTML.\r\n\t\tself.htmlContent = [NSMutableString stringWithFormat:@\"%@\", @\"\"];\r\n\t\t[self.htmlContent appendString:@\"\"]; [self.htmlContent appendString:@\"<\/pre>\r\n<div>Chart will render here.<\/div>\r\n<pre class=\"lang:java\">\"]; [self.htmlContent appendString:@\"\/\/ &lt; ![CDATA[\r\n\/\/ \"];<\/pre>\r\nFinally, we send the <code>plotChart<\/code> message to <code>self<\/code>.\r\n<pre class=\"lang:java\">\t\t\/\/ Draw the actual chart.\r\n\t\t[self plotChart];\r\n\t}\r\n}\r\n<\/pre>\r\nThereafter, we will define the <code>plotChart<\/code> method. In this method we will provide the <code>baseURL<\/code>, and load the HTML string we created.\r\n<pre class=\"lang:java\">- (void)plotChart\r\n{\r\n\tNSURL *baseURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@\"%@\", [[NSBundle mainBundle] bundlePath]]];\r\n\t[self.webView loadHTMLString:self.htmlContent baseURL:baseURL];\r\n}\r\n<\/pre>\r\nRun this project in the iPhone Simulator, you would get the following chart:\r\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2236\" title=\"FusionCharts XT in iPhone Simulator\" src=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator.png\" alt=\"\" width=\"368\" height=\"716\" srcset=\"\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator.png 368w, \/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator-77x150.png 77w\" sizes=\"auto, (max-width: 368px) 100vw, 368px\" \/>\r\n<h2><span class=\"ez-toc-section\" id=\"Making_FusionCharts_Aware_of_the_Orientation\"><\/span>Making FusionCharts Aware of the Orientation<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nHowever, our work here is not done yet. We still need to add orientation support to this project.\r\n\r\nLet us override the default value to allow autorotation according to the orientation.\r\n<pre class=\"lang:java\">\/\/ Override to allow orientations other than the default portrait orientation.\r\n- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {\r\n    \/\/ Return YES since we support all orientations.\r\n    return YES;\r\n}\r\n<\/pre>\r\nWe need to dispose of the chart before we render it again according to the new orientation. To do this, we can can empty <code>chart_container<\/code> of all the HTML. Let us write the <code>removeChart<\/code> method to do this.\r\n<pre class=\"lang:java\">- (void)removeChart\r\n{\r\n\tNSString *emptyChartContainer = [NSString stringWithString:@\"\/\/ &lt; ![CDATA[\r\n\/\/ \"]; [self.webView stringByEvaluatingJavaScriptFromString:emptyChartContainer]; }<\/pre>\r\nNext, we need to know exactly when the device <em>begins<\/em> to rotate. For this, we have the <code>)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration<\/code> class method. In this method, we will first check if the data is valid; so that an error message will be displayed even upon rotation. Next, we store the orientation to which the device is rotating to. Then we remove the chart and render it again according to the new orientation.\r\n<pre class=\"lang:java\">\/\/ Handle interface rotation.\r\n- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration\r\n{\r\n\t\/\/ Check whether we have valid data.\r\n\tif (self.twitterDataError) {\r\n\t\t[self displayDataError];\t\t\r\n\t} else {\r\n\t\t\/\/ Valid data.\r\n\r\n\t\t\/\/ Store new orientation.\r\n\t\tself.currentOrientation = toInterfaceOrientation;\r\n\r\n\t\t\/\/ Remove existing chart and recreating it\r\n\t\t\/\/ as per the new orientation.\r\n\t\t[self removeChart];\r\n\t\t[self createChartData:self.currentOrientation];\t\r\n\t}\r\n}\r\n<\/pre>\r\nIn the <code>createChart<\/code> method, we need to supply the new chart dimensions to the FusionCharts object according to the orientation. So let us add the following code just before the block where we create the chart XML:\r\n<pre class=\"lang:java\">\t\/\/ Set chart width and height depending on the screen's orientation.\r\n\t\tif (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {\r\n\t\t\tself.chartWidth = 300;\r\n\t\t\tself.chartHeight = 440;\r\n\t\t} else if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {\r\n\t\t\tself.chartWidth = 440;\r\n\t\t\tself.chartHeight = 280;\r\n\t\t}\r\n<\/pre>\r\nLet us now run this project. Rotate your iPhone Simulator by \u2318+Left Arrow or \u2318+Right Arrow.\r\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2239\" title=\"FusionCharts XT in iPhone Simulator with orientation support - Landscape mode\" src=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator-with-orientation-support-Landscape-mode-616x316.png\" alt=\"\" width=\"616\" height=\"316\" \/>\r\n<h2><span class=\"ez-toc-section\" id=\"Download_Sample_Project\"><\/span>Download Sample Project<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nThe sample project that we created is available for download. We used Xcode 3.2 and the target was iOS 4.2.\r\n<a href=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/FusionChartsXTiOSDemo.zip\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2283\" title=\"Download the sample Xcode project\" src=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/Download_Sample_Code.png\" alt=\"\" width=\"257\" height=\"100\" srcset=\"\/blog\/wp-content\/uploads\/2012\/02\/Download_Sample_Code.png 257w, \/blog\/wp-content\/uploads\/2012\/02\/Download_Sample_Code-150x58.png 150w\" sizes=\"auto, (max-width: 257px) 100vw, 257px\" \/><\/a>\r\n<h2><span class=\"ez-toc-section\" id=\"Taking_It_Further\"><\/span>Taking It Further<span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nYou can expand on this project by using the other chart types provided by FusionCharts. Also, you can interface with a database on the backend, and provide a UI to create the SQL queries in the WebView itself. You could make use of the Spark Line charts provided in FusionWidgets XT and create a <a href=\"https:\/\/www.fusioncharts.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">html5 dashboard<\/a> for your iPhone and iPad users. Drill-down <a href=\"https:\/\/www.fusioncharts.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>JavaScript charts<\/strong><\/a> are also super easy to create. The field is open for experimentation. Do share your implementations with us.\r\n\r\n\r\n<!--[raw_html_snippet id=\"google.rich.snippet.breadcrumb.4\"]-->\r\n\r\n","protected":false},"excerpt":{"rendered":"<p>To provide executives with access to business data on the go, enterprises are adopting iPhones and iPads in droves. Many of these applications need innovative data visualizations but are currently restricted by the limited capabilities of available charting libraries for iOS. Some have limited chart types, whereas others lack visual appeal and interactivity. Open-source libraries [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[205,206,211],"coauthors":[715],"class_list":["post-2206","post","type-post","status-publish","format-standard","hentry","category-tutorials","tag-ipad","tag-iphone","tag-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Create charts for iPhone and iPad apps using FusionCharts XT - FusionBrew<\/title>\n<meta name=\"description\" content=\"Create charts for iPhone and iPad apps. Use FusionCharts XT to build professional 2026 mobile visualizations in JavaScript. Master iOS data interfaces now.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create charts for iPhone and iPad apps using FusionCharts XT - FusionBrew\" \/>\n<meta property=\"og:description\" content=\"Create charts for iPhone and iPad apps. Use FusionCharts XT to build professional 2026 mobile visualizations in JavaScript. Master iOS data interfaces now.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/\" \/>\n<meta property=\"og:site_name\" content=\"FusionBrew - The FusionCharts Blog\" \/>\n<meta property=\"article:published_time\" content=\"2012-02-29T05:58:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-20T09:06:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator.png\" \/>\n\t<meta property=\"og:image:width\" content=\"368\" \/>\n\t<meta property=\"og:image:height\" content=\"716\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"rishi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"rishi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\/\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"Article\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"rishi\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/132d68250c34b957c87330353d8eaa5a\"\n\t            },\n\t            \"headline\": \"Create Charts for iPhone and iPad Apps Using FusionCharts XT 2026\",\n\t            \"datePublished\": \"2012-02-29T05:58:12+00:00\",\n\t            \"dateModified\": \"2026-01-20T09:06:51+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/\"\n\t            },\n\t            \"wordCount\": 1446,\n\t            \"commentCount\": 71,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator-156x304.png\",\n\t            \"keywords\": [\n\t                \"ipad\",\n\t                \"iphone\",\n\t                \"javascript\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Tutorials\"\n\t            ],\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"CommentAction\",\n\t                    \"name\": \"Comment\",\n\t                    \"target\": [\n\t                        \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#respond\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/\",\n\t            \"name\": \"Create charts for iPhone and iPad apps using FusionCharts XT - FusionBrew\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator-156x304.png\",\n\t            \"datePublished\": \"2012-02-29T05:58:12+00:00\",\n\t            \"dateModified\": \"2026-01-20T09:06:51+00:00\",\n\t            \"description\": \"Create charts for iPhone and iPad apps. Use FusionCharts XT to build professional 2026 mobile visualizations in JavaScript. Master iOS data interfaces now.\",\n\t            \"breadcrumb\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#breadcrumb\"\n\t            },\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#primaryimage\",\n\t            \"url\": \"\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator.png\",\n\t            \"contentUrl\": \"\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator.png\",\n\t            \"width\": 368,\n\t            \"height\": 716\n\t        },\n\t        {\n\t            \"@type\": \"BreadcrumbList\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#breadcrumb\",\n\t            \"itemListElement\": [\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 1,\n\t                    \"name\": \"Home\",\n\t                    \"item\": \"https:\/\/www.fusioncharts.com\/blog\/\"\n\t                },\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 2,\n\t                    \"name\": \"Create Charts for iPhone and iPad Apps Using FusionCharts XT 2026\"\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#website\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/\",\n\t            \"name\": \"FusionBrew - The FusionCharts Blog\",\n\t            \"description\": \"Get tips and tricks on how to build effective Data Visualisation using FusionCharts\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\/\/www.fusioncharts.com\/blog\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\",\n\t            \"name\": \"FusionCharts\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/\",\n\t                \"url\": \"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg\",\n\t                \"contentUrl\": \"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg\",\n\t                \"width\": 1,\n\t                \"height\": 1,\n\t                \"caption\": \"FusionCharts\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/\"\n\t            }\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/132d68250c34b957c87330353d8eaa5a\",\n\t            \"name\": \"rishi\",\n\t            \"image\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/image\/328482cd2c44c22cbfaf38e6113a8a24\",\n\t                \"url\": \"https:\/\/secure.gravatar.com\/avatar\/?s=96&r=g\",\n\t                \"contentUrl\": \"https:\/\/secure.gravatar.com\/avatar\/?s=96&r=g\",\n\t                \"caption\": \"rishi\"\n\t            },\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/author\/rishi\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Create charts for iPhone and iPad apps using FusionCharts XT - FusionBrew","description":"Create charts for iPhone and iPad apps. Use FusionCharts XT to build professional 2026 mobile visualizations in JavaScript. Master iOS data interfaces now.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/","og_locale":"en_US","og_type":"article","og_title":"Create charts for iPhone and iPad apps using FusionCharts XT - FusionBrew","og_description":"Create charts for iPhone and iPad apps. Use FusionCharts XT to build professional 2026 mobile visualizations in JavaScript. Master iOS data interfaces now.","og_url":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/","og_site_name":"FusionBrew - The FusionCharts Blog","article_published_time":"2012-02-29T05:58:12+00:00","article_modified_time":"2026-01-20T09:06:51+00:00","og_image":[{"width":368,"height":716,"url":"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator.png","type":"image\/png"}],"author":"rishi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"rishi","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#article","isPartOf":{"@id":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/"},"author":{"name":"rishi","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/132d68250c34b957c87330353d8eaa5a"},"headline":"Create Charts for iPhone and iPad Apps Using FusionCharts XT 2026","datePublished":"2012-02-29T05:58:12+00:00","dateModified":"2026-01-20T09:06:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/"},"wordCount":1446,"commentCount":71,"publisher":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator-156x304.png","keywords":["ipad","iphone","javascript"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/","url":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/","name":"Create charts for iPhone and iPad apps using FusionCharts XT - FusionBrew","isPartOf":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#primaryimage"},"image":{"@id":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator-156x304.png","datePublished":"2012-02-29T05:58:12+00:00","dateModified":"2026-01-20T09:06:51+00:00","description":"Create charts for iPhone and iPad apps. Use FusionCharts XT to build professional 2026 mobile visualizations in JavaScript. Master iOS data interfaces now.","breadcrumb":{"@id":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#primaryimage","url":"\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator.png","contentUrl":"\/blog\/wp-content\/uploads\/2012\/02\/FusionCharts-XT-in-iPhone-Simulator.png","width":368,"height":716},{"@type":"BreadcrumbList","@id":"https:\/\/www.fusioncharts.com\/blog\/create-charts-for-iphone-and-ipad-apps-using-fusioncharts-xt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fusioncharts.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Create Charts for iPhone and iPad Apps Using FusionCharts XT 2026"}]},{"@type":"WebSite","@id":"https:\/\/www.fusioncharts.com\/blog\/#website","url":"https:\/\/www.fusioncharts.com\/blog\/","name":"FusionBrew - The FusionCharts Blog","description":"Get tips and tricks on how to build effective Data Visualisation using FusionCharts","publisher":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fusioncharts.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.fusioncharts.com\/blog\/#organization","name":"FusionCharts","url":"https:\/\/www.fusioncharts.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/","url":"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg","contentUrl":"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg","width":1,"height":1,"caption":"FusionCharts"},"image":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/132d68250c34b957c87330353d8eaa5a","name":"rishi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/image\/328482cd2c44c22cbfaf38e6113a8a24","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&r=g","caption":"rishi"},"url":"https:\/\/www.fusioncharts.com\/blog\/author\/rishi\/"}]}},"_links":{"self":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts\/2206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/comments?post=2206"}],"version-history":[{"count":0,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts\/2206\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/media?parent=2206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/categories?post=2206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/tags?post=2206"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/coauthors?post=2206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}