Google Charts Experienced Level Interview Questions And Answers

What Is The Google Visualization Api?

The Google Visualization API allows you to create charts and reporting applications over structured data and helps integrate these directly into your website.

What Can I Do With The Visualization Api?

With the Google Visualization API, you can access structured data--created locally in your browser or retrieved from supported data sources in a simple tabular format. You can also implement your own data source as Visualization API data source and enable any Visualization-compliant visualization and/or application to access your data. The format is amenable to use by reporting, analysis or chart applications. You can thus visualize the data and/or add new functionality to applications, such as Google Spreadsheets.
Google Charts Experienced Level Interview Questions And Answers
Google Charts Experienced Level Interview Questions And Answers

What Is A Data Source Url?


A Data Source URL is the unique URL identifier of a Visualization API data source. A data source URL may also include Chart Query Language parameters. In this case a query (such as sorting, grouping, etc) is performed on the data source prior to fetching the data.

What Data Sources Can I Access Using The Visualization Api?

With the Visualization API you can access data locally from your browser by creating the API's standard DataTable format, or access any data source that supports the API. Well-known applications that already support the API are Google Spreadsheets and Salesforce.com on their Force.com developer platform. You may also implement your own data as a Chart data source.

What Is The Difference Between The Google Chart Api And The Google Visualization Api?

The Chart API provides a simple way to create image charts of various kinds by sending a formatted URL that includes both the data and chart configuration options to a Google server. The Chart API includes a closed set of charts with various options. The Chart API datasets are limited to the size of a URL (roughly 2K).

The Visualization API provides a way to connect charts and data sources over the web and to publish them:

The Visualization API provides a Javascript API to access charts.

Its gallery of charts includes Google-created charts, but is also open to any third party to create their own Visualization API-compliant visualizations.

Visualization API charts and charts can be anything that can be rendered by a browser. This includes images, Javascript, vector-graphics, Flash, etc.

A considerable number of Chart API charts are accessible through the Visualization API, although some of their configuration options may not be available.

The API also provides a documented wire protocol and a way for anyone to expose their data sources to any of the APIs visualizations.

The API has a defined event model that allows charts to throw and receive events and thus communicate with their host page and/or other charts on the page.

My Application Expects The Data It Receives To Be In A Specific Format. How Do I Handle Exceptions?

You can use the getNumberOfColumns() and getColumnType() methods of class google.visualization.DataTable to test that the data you get matches what you expect, and issue an error message for mismatches.

Is It Safe To Embed A Chart In My Web Site?

Running third party code directly on your web site poses inherent risks. Google makes no promises or representations about application performance, quality, security, or content. Chart applications that do not comply with the Google Visualization API Terms of Service may be removed from the galleries.

Can I Use Charts Offline?

Your users' computers must have access to https://www.gstatic.com/charts/loader.js in order to use the interactive features of Google Charts. This is because the visualization libraries that your page requires are loaded dynamically before you use them. The code for loading the appropriate library is part of the included script, and is called when you invoke the google.charts.load() method. Our terms of service do not allow you to download the google.charts.load or google.visualization code to use offline.

Why Doesn't My Chart Appear?

First, check your JavaScript console. On Chrome, you can access the JavaScript console via Chrome->View->Developer->JavaScript Console, or Chrome->Tools->JavaScript Console. All modern browsers have a JavaScript console; you may need to poke around menus with names like "Advanced" or "Developer Tools" to find it.

Hopefully, the console leads you immediately to the problem. Sometimes, however, it'll be hard to translate the console message to the underlying cause.

Here are some common pitfalls:

You may be using the Google Loader incorrectly.

Only load the charts/loader.js once. No matter how many charts you have on your web page, you should have one and only one call like this:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> // Do this ONCE.

This can be in the head or the body of your web page, depending on when you want the load to occur.

Ideally, call google.charts.load only once, with all the packages you'll need for your web page.
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script>
  google.charts.load("current", {packages: ["corechart", "timeline"]});

  google.charts.setOnLoadCallback(drawBarChart1);
  function drawBarChart1() {
    ...
    var barChart1 = new google.visualization.BarChart(document.getElementById('chart1'));
    ...
  }

  google.charts.setOnLoadCallback(drawBarChart2);
  function drawBarChart2() {
    ...
    var barChart2 = new google.visualization.BarChart(document.getElementById('chart2'));
    ...
  }

  google.charts.setOnLoadCallback(drawTimeline);
  function drawTimeline() {
    ...
    var timeline = new google.visualization.Timeline(document.getElementById('chart3'));
    ...
  }

</script>
<div id="chart1"></div>
...
<div id="chart2"></div>
...
<div id="chart3"></div>

Every chart should have a unique element id (e.g., chart1, chart2 in the above example).
Look for typos. Remember that JavaScript is a case-sensitive language.

Why Are My Months And Days Off By One?

Google Charts uses JavaScript, which uses zero-based indexing. The first day of the month is 0, and the months range from 0 (January) to 11 (December). If your code assumes one-based indexing, subtract one before putting the your data into a JavaScript date object.

Why Do My Charts Work In Some Browsers But Not All?

We recommend caniuse.com for a trove of information about browser incompatibilities. With Google Charts, there are sometimes problems in Internet Explorer 8 and earlier, for two reasons:

IE8 doesn't support SVG, so Charts fails over into VML, which is more limited.

IE8's JavaScript doesn't allow trailing commas in lists.

What Is The Google Visualization Program Policy?

As described in the Terms of Service, we may decline to include and display content that violates our program policy by displaying or linking to:

Illegal content.
Invasions of personal privacy.
Pornography or obscenity.
Content, such as malicious code, that interferes with or is harmful to a user's computer or the functioning of the host web page.
Promotions of hate or incitement of violence.
Violations of copyright.
Violations of trademark.
Impersonations of third parties.
Developers that create charts that collect data, agree to maintain and link to a legally adequate privacy policy. Additionally, we require developers to ensure that their chart is secure, and to maintain their application as long as it resides in the chart directory.

These policies may be revised from time to time without notice.

Is The Google Visualization Api Available For Commercial Use?

Yes.

Is Google Logging All My Chart Data?

The chart data included in the HTTP request is saved in temporary logs for no longer than two weeks for internal testing and debugging purposes. Of course you should understand that if your chart appears in an image tag on a public webpage, it could be crawled.

Can A Flash Application Access The Visualization Api?

Absolutely. The Visualization API uses a JavaScript API, but there are libraries that enable Flash apps to connect with Javascript code.

Can I Access A Chart From A Java Application?

Yes. The Google Visualization Library for the Google Web Toolkit (GWT) allows you to access the API compliant visualizations from Java code compiled with the GWT compiler and to write Visualization API compliant visualizations in Java using the GWT complier. The release candidate library also supports the Visualization API event model.

Can I Access A Chart From An Application Written With The Google Web Toolkit (gwt) Compiler?

Yes. The Google Visualization Library for the Google Web Toolkit (GWT) allows you to access the API compliant visualizations from Java code compiled with the GWT compiler and to write Visualization API compliant visualizations in Java using the GWT complier. The release candidate library also supports the Visualization API event model.

Violations Of The Program Policies?

Violations of these Program Policies can result in the disabling or removal of your chart, being blacklisted from uploading future charts, termination of your Google accounts and/or deletion of all your charts.

What Is The Chart Gallery?

The Chart Gallery is a listing of applications that use the Visualization API. It provides a central location for the Visualization developer community to share Chart applications.

How Can I Promote My Chart Data Source?

Post your implementation on the Visualization Group. If we like it, we might even mention it ourselves.

What Is The Google Chart Api?

The Google Chart API is an extremely simple tool that lets you easily create a chart from some data and embed it in a webpage. You embed the data and formatting parameters in an HTTP request, and Google returns a PNG image of the chart. Many types of chart are supported, and by making the request into an image tag you can simply include the chart in a webpage.

Why Is Google Offering This Service? What's In It For Me?

We built the service originally as an internal tool to support rapid embedding of charts within our own applications (like Google Finance for example). We figured it would be a useful tool to open up to web developers.

Is There A Limit On The Url Length For The Google Chart Api? What Is The Maximum Url Length?

The maximum length of a URL is not determined by the Google Chart API, but rather by web browser and web server considerations. The longest URL that Google accepts in a chart GET request is 2048 characters in length, after URL-encoding (e.g., | becomes %7C). For POST, this limit is 16K.

If URL length is a problem, here are a few suggestions for shortening your URL:

If you are using a text encoding data format, remove leading zeros from numbers, remove trailing zeros after decimal points, and round or truncate the numbers after decimal points.
If that does not shorten the URL enough, use simple (1 character) or extended (2 character) encoding.
Sample data less frequently; i.e., reduce granularity.
Remove accouterments and decorations, such as colors, labels, and styles, from your chart.

Why Don't My Bars/lines/etc Line Up With The Correct Value On The Y-axis?

By default, both axes show a range of 0 to 100. This is regardless of the data values. If you want the line, bar, or whatever to align with the actual data value, you must specify a label range that matches the data range exactly using the chxr parameter.


Post a Comment

Previous Post Next Post