data visualization
The Data
The data set provided in this example was generated using the Bank of Canada's 10- year Lookup Tool (http://www.bankofcanada.ca/rates/exchange/daily-exchange- rates-lookup/). The data file is exchange2017.json (available on URCourses).
It is your responsibility to inspect the data and to make intelligent choices regarding the design of your software to process this data. Pay careful attention to the following:
· JSON data structure
· The dimensionality of the data set
· The format of the data (e.g., dates, numerical data, categorical data)
· What the variables are in each record; which are independent; which are dependent
· Whether it is better to group the data internally by date or by currency
· The temporal “holes” in the data set
Your software should read the data file once, and then store the data in some internal data structure within your code. Take care to ensure that this data structure is appropriate for the data and the visualization method you will implement (see below).
The Visualization
The visualization of this data should be in the form of a scatterplot, created using D3, Processing, or some other visualization toolkit. You are expected to write high-quality object-oriented code that is well document. Although we have not yet talked about how to make informed choices regarding the visual encoding of information, you should do something that makes sense to you, and allows the user to easily perceive the different currencies, as well as their exchange rate over time.
Based on what you have learned about encoding information, you must decide upon and use appropriate visual elements to represent the different countries. Consider
whether your visual encoding is self-explanatory, or whether you need to also provide a legend (the former is preferred). Also, you must take care to provide appropriate labeling of the x-axis and y-axis.
Interactive tools should be provided that allow the user to filter the data based on selected currencies and date ranges. Rather than using textual controls, the data filters should be implemented as interactive visual features. Whenever the currencies or date range filters are changed, the scatterplot should be updated along with the scale. This change should be animated in order to give the user sufficient feedback to know how their interaction changed the visual display of the data (if animation is giving you trouble, you should start with just making the change, and then figure out how to make the animation work).
When the user selects (focuses on) a particular data point in the scatterplot, all the data points for that currency should also become highlighted so that the exchange rate trend for that currency becomes apparent. Also, summary information regarding the selected data point should be provided either as a tooltip or in a separate region of the interface
.
The Critique
Consider the three types of activities described in the introduction to this assignment. Comment on how useful the system you have developed is for answering each of these types of questions. Is there anything in the data that "pops out"? Is your system also useful for answering other types of questions? If so, elaborate on what it may be able to help the user to discover.
The Deliverables
The following deliverables are required:
· physical submission
· cover page that includes your name, student number, and email address
· a screenshot of your software
· instructions for compiling and running your program
· the critique of your system with respect to supporting the key tasks
users need to perform
· electronic submission (submitted via URCourses)
· the source code of your program