This project was inspired by the growing global issue of global warming and by ourworldindata which is an organization working hard to get their data to people across the planet.
What it does
This project visualizes CO2 Emissions for every country and some other regions in the world and allows users to play and pause the animation for the purposes of finding trends or understanding pieces of the data.
How I built it
I built this project by using data from ourworldindata and by using python libraries such as numpy, matplotlib and pandas in order to read, clean and display the data that was present in the CSV file.
Challenges I ran into
One of the biggest challenges for this project was getting the play/pause button to work because matplotlib has no inherent functionality to stop the animation of the graph. Another big issue that I had was getting the graph to switch countries whenever a new section was reached in the data. I solved this problem by checking if the year for the next index in the data was less than the current year because that would mean that we have reached a new country's data. A third issue that I had was that matplotlib would display the title of the graph on top of the button. I fixed this by changing the way I set the title of the graph.
Accomplishments that I'm proud of
I am proud of the fact that I was able to use completely unknown data to create proper graphs that animated and looked visually appealing.
What I learned
I learned about how to use matplotlib, numpy and pandas to visualize large amounts of data. I also learnt how animations worked in matplotlib and how that can be used to improve the overall experience of the person viewing the data. Lastly, I learned about quickly making a viable product, as this is my first Hackathon.
What's next for CO2 Emissions Data Visualizer
Firstly, I want the user to be able to chose the country via a dropdown button as well as a 2 point slider that allows the user to select the starting and ending years Then, I would like to add a map view where the user can see everything visually on a map and animate it as well as hover over a country to see the specific details for that country.