P4: Web Interface


The purpose of this part of the project is to design a working web interface to your project data. In P2 you will have devised several graphs using R to examine your data. However, some data could be presented better with an interactive interface. Your task is to plot one or two graphs using Google Chart tools. It is up to you to select the data that can best take advantage of the interfaces offered through Google Chart tools (e.g., sliders, MotionCharts).


You can make as many charts using Google Chart Tools as you see fit. At a minimum, please do at least one of the following:

You are of course free to exceed these requirements if you wish (e.g., use controls linked to more than one chart).

You must write the charts using a Python CGI script. Load the data in externally from a CSV file using the gviz_api. Perhaps the biggest challenge in this assignment is to select a suitable subset of your data and presenting it in a format acceptable to the Google Charts API. You may need to create a new CSV file specially tailored to the requirements of these charts. If you have to do this, please write the code in either Python or R, as you see fit, and place the code in the code/p4 directory in a file named p4makedata.py (or p4makedata.r). Store the newly-created data in the data/p4 directory using a name that you see fit.

What to turn in

Please write the charts as Python CGI script placed in your team's public_html/cgi-bin/ directory. Please place an HTML file called p4.html in your team's public_html directory, which links to the CGI scripts and includes a brief explanation of the purpose of the chart (1-4 sentences, depending on complexity of the chart). Here is some example HTML code you can use as a template.