From 75f3e107c6088bbcff102dca5706dbae2017762d Mon Sep 17 00:00:00 2001 From: aamaxaa Date: Mon, 7 Mar 2022 00:21:54 -0500 Subject: [PATCH 01/44] init --- README.md | 123 ----------------- data/GDP_2000_2019.csv | 12 ++ data/PercentChangeGDP.csv | 11 ++ data/contour-world-map.gif | Bin 0 -> 23057 bytes data/education.csv | 261 ++++++++++++++++++++++++++++++++++++ data/employment.csv | 261 ++++++++++++++++++++++++++++++++++++ data/health.csv | 261 ++++++++++++++++++++++++++++++++++++ education.html | 234 +++++++++++++++++++++++++++++++++ employment.html | 260 ++++++++++++++++++++++++++++++++++++ health.html | 261 ++++++++++++++++++++++++++++++++++++ index.html | 191 +++++++++++++++++++++++++++ test.html | 263 +++++++++++++++++++++++++++++++++++++ 12 files changed, 2015 insertions(+), 123 deletions(-) delete mode 100644 README.md create mode 100644 data/GDP_2000_2019.csv create mode 100644 data/PercentChangeGDP.csv create mode 100644 data/contour-world-map.gif create mode 100644 data/education.csv create mode 100644 data/employment.csv create mode 100644 data/health.csv create mode 100644 education.html create mode 100644 employment.html create mode 100644 health.html create mode 100644 index.html create mode 100644 test.html diff --git a/README.md b/README.md deleted file mode 100644 index 69875d8..0000000 --- a/README.md +++ /dev/null @@ -1,123 +0,0 @@ -Final Project - Interactive Data Visualization -=== - -The key learning experience of this course is the final project. -You will design a web site and interactive visualizations that answer questions you have, provide an exploratory interface to some topic of your own choosing, or take on a more ambitious experiment than A3. -You will acquire the data, design your visualizations, implement them, and critically evaluate the results. - -The path to a good visualization is going to involve mistakes and wrong turns. -It is therefore important to recognize that mistakes are valuable in finding the path to a solution, to broadly explore the design space, and to iterate designs to improve possible solutions. -To help you explore the design space, we will hold events such as feedback sessions in which you propose your idea and initial designs and receive feedback from the class and staff. - -Proposals / Idea Generation ---- - -Submit project ideas using [this Google Form](https://docs.google.com/forms/d/e/1FAIpQLSepaCzjEq9AXwmJ8mJ-06ytkQUuLI1Z2QF5KGyhVnKaxBI-mA/viewform?usp=sf_link). - -You're encouraged to submit many ideas-- staff will help you identify the most promising ones and possible roadblocks. - -Please stick to 1-4 folks per team. - -Final Project Materials ---- -For your final project you must hand in the following items. - -### Process Book - -An important part of your project is your process book. Your process book details your steps in developing your solution, including the alternative designs you tried, and the insights you got. Develop your process book out of the project proposal. Equally important to your final results is how you got there! Your process book is the place you describe and document the space of possibilities you explored at each step of your project. It is not, however, a journal or lab notebook that describes every detail - you should think carefully about the important decisions you made and insights you gained and present your reasoning in a concise way. - -We strongly advise you to include many figures in your process book, including photos of your sketches of potential designs, screen shots from different visualization tools you explored, inspirations of visualizations you found online, etc. Several images illustrating changes in your design or focus over time will be far more informative than text describing those changes. Instead, use text to describe the rationale behind the evolution of your project. - -Your process book should include the following topics. Depending on your project type the amount of discussion you devote to each of them will vary: - -- Overview and Motivation: Provide an overview of the project goals and the motivation for it. Consider that this will be read by people who did not see your project proposal. -- Related Work: Anything that inspired you, such as a paper, a web site, visualizations we discussed in class, etc. -- Questions: What questions are you trying to answer? How did these questions evolve over the course of the project? What new questions did you consider in the course of your analysis? -- Data: Source, scraping method, cleanup, etc. -- Exploratory Data Analysis: What visualizations did you use to initially look at your data? What insights did you gain? How did these insights inform your design? -- Design Evolution: What are the different visualizations you considered? Justify the design decisions you made using the perceptual and design principles you learned in the course. Did you deviate from your proposal? -- Implementation: Describe the intent and functionality of the interactive visualizations you implemented. Provide clear and well-referenced images showing the key design and interaction elements. -- Evaluation: What did you learn about the data by using your visualizations? How did you answer your questions? How well does your visualization work, and how could you further improve it? - -As this will be your only chance to describe your project in detail make sure that your process book is a standalone document that fully describes your results and the final design. -[Here](http://dataviscourse.net/2015/assets/process_books/bansal_cao_hou.pdf) are a [few examples](http://dataviscourse.net/2015/assets/process_books/walsh_trevino_bett.pdf) of process books from a similar course final. - -Tip: Start your process book on Day 1. Make entries after each meeting, and trim / edit as needed towards the end of the project. Many folks use either slides software (like PowerPoint) or Google Docs to make this book, as both allow for flexible layouts and export to PDF. - - -### Project Website - -Create a public website for your project using GitHub pages or another web hosting service of your choice. -The web site should contain your interactive visualization, summarize the main results of the project, and tell a story. -Consider your audience (the site should be public if possible, unless you're running an experiment, etc.) and keep the level of discussion at the appropriate level. -Your process book and data should be linked from the web site as well. -Also embed your interactive visualization and your screen-cast in your website. -If you are not able to publish your work (e.g., due to confidential data) please let us know in your project proposal. - -### Project Screen-Cast - -Each team will create a two minute screen-cast with narration showing a demo of your visualization and/or some slides. - -You can use any screencast tool of your choice, such as Camtasia or Loom (new and recommended). -Please make sure that the sound quality of your video is good -- it may be worthwhile to invest in an external USB microphone-- campus IT should have some you can borrow. -Upload the video to an online video-platform such as YouTube or Vimeo and embed it into your project web page. -For our final project presentation day, we will show as many videos in class as possible, and ask teams to field questions. - -We will strictly enforce the two minute time limit for the video, so please make sure you are not running longer. -Use principles of good storytelling and presentations to get your key points across. Focus the majority of your screencast on your main contributions rather than on technical details. -What do you feel is the best part of your project? -What insights did you gain? -What is the single most important thing you would like your audience to take away? Make sure it is front and center rather than at the end. - -Outside Libraries/References ---- - -For this project you *do not* have to write everything from scratch. - -You may *reference* demo programs from books or the web, and *include* popular web libraries like Material UI, React, Svelte, etcetera. - -Please *do not* use libraries on top of d3 without consulting staff, however. -Libraries like nvd3.js look tempting, but such libraries often have poor defaults and result in poor visualizations. -There may be exceptions. -Instead, draw from the numerous existing d3 examples on the web. - -If you use outside sources please provide a References section with links at the end of your Readme. - -Resources ---- -The "[Data is Plural](https://tinyletter.com/data-is-plural/archive)" weekly letter often contains interesting datasets. - -Think of something you're interested in, go find data on it! Include data collection and processing as part of your work on this project. - -Requirements ---- - -Store the following in your GitHub repository: - -- Code - All web site files and libraries assuming they are not too big to include -- Data - Include all the data that you used in your project. If the data is too large for github store it on a cloud storage provider, such as Dropbox or Yousendit. -- Process Book- Your Process Book in PDF format. -- README - The README file must give an overview of what you are handing in: which parts are your code, which parts are libraries, and so on. The README must contain URLs to your project websites and screencast videos. The README must also explain any non-obvious features of your interface. - -GitHub Details ---- - -- Fork the repo. You now have a copy associated with your username. -- Make changes to index.html to fulfill the project requirements. -- Make sure your "main" branch matches your "gh-pages" branch. See the GitHub Guides referenced above if you need help. -- Edit the README.md with a link to your gh-pages or other external site: for example http://YourUsernameGoesHere.github.io/DataVisFinal/index.html -- To submit, make a [Pull Request](https://help.github.com/articles/using-pull-requests/) on the original repository. - -Grading ---- - -- Process Book - Are you following a design process that is well documented in your process book? -- Solution - Is your visualization effective in answering your intended questions? Was it designed following visualization principles? -- Implementation - What is the quality of your implementation? Is it appropriately polished, robust, and reliable? -- Presentation - Are your web site and screencast clear, engaging, and effective? -Your individual project score will also be influenced by your peer evaluations. - -References ---- - -- This final project is adapted from https://www.dataviscourse.net/2020/project/ diff --git a/data/GDP_2000_2019.csv b/data/GDP_2000_2019.csv new file mode 100644 index 0000000..3119caa --- /dev/null +++ b/data/GDP_2000_2019.csv @@ -0,0 +1,12 @@ +Country Name,2000,2019 +Ethiopia,197.4323051,602.6340693 +Cambodia,431.20229,1268.971602 +Myanmar,342.1412626,1608.486195 +Lao PDR,672.8753883,1840.504353 +Vietnam,765.1856509,2082.243694 +Bhutan,1119.76412,3262.198968 +Mongolia,1600.491501,4352.641591 +Armenia,1403.031257,4732.069506 +Georgia,1633.53909,4978.795251 +Azerbaijan,1658.805293,5879.42661 +China,1767.859627,8242.054643 diff --git a/data/PercentChangeGDP.csv b/data/PercentChangeGDP.csv new file mode 100644 index 0000000..60c9f38 --- /dev/null +++ b/data/PercentChangeGDP.csv @@ -0,0 +1,11 @@ +Country Name,Indicator Name,ChangeGDPperCapita +Vietnam,GDP per capita (constant 2010 US$),172.1226792 +Lao PDR,GDP per capita (constant 2010 US$),173.5282617 +Bhutan,GDP per capita (constant 2010 US$),191.329121 +Cambodia,GDP per capita (constant 2010 US$),194.286842 +Georgia,GDP per capita (constant 2010 US$),204.7858041 +Ethiopia,GDP per capita (constant 2010 US$),205.2357966 +Armenia,GDP per capita (constant 2010 US$),237.2747031 +Azerbaijan,GDP per capita (constant 2010 US$),254.4374156 +China,GDP per capita (constant 2010 US$),366.2165772 +Myanmar,GDP per capita (constant 2010 US$),370.1234171 diff --git a/data/contour-world-map.gif b/data/contour-world-map.gif new file mode 100644 index 0000000000000000000000000000000000000000..4af55042d5d36f9f88f0c13f77df3184de02cf7f GIT binary patch literal 23057 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

XId=bJ$H8lLk*s~% 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 z + + + + + + + + +
+

Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2019 - Education Data

+ + + +

+ + + Although there is some missing data, tertiary school enrollment appears to have increased + over the years for these ten countries. Furthermore, several of these countries start below + the low income group and then surpass it by 2019. This is a trend we would expect + with increased GDP per capita. +
+ note: "low/middle income" refer to groups of countries defined by World Bank. +
+
+
+

+ +
+ +
+
+ + + + + + + + diff --git a/employment.html b/employment.html new file mode 100644 index 0000000..974f943 --- /dev/null +++ b/employment.html @@ -0,0 +1,260 @@ + + + + + + + + + +
+

Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2019 - Employment Data

+ + + +

+ + + Surprisingly, employment was fairly flat throughout the years, having a large % increase in GDP per + capita did not translate to increased employment in most cases. +
+ note: "low/middle income" refer to groups of countries defined by World Bank. +
+
+

+ +
+ +
+ + + + + + + diff --git a/health.html b/health.html new file mode 100644 index 0000000..1c487f7 --- /dev/null +++ b/health.html @@ -0,0 +1,261 @@ + + + + + + + + + +
+

Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2019 - Health Data

+ + + +

+ + + In general, mortality rate has shown consistent improvement over the years. This trend is + something we would expect with improved GDP per capita. However this is not exclusive + to these 10 countries. Low income countries as a group also show the same trend. +
+ note: "low/middle income" refer to groups of countries defined by World Bank. +
+
+

+ +
+ +
+
+ + + + + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..031d4db --- /dev/null +++ b/index.html @@ -0,0 +1,191 @@ + + + + + + + + + +
+

+Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2019 +

+ +

+GDP per Capita is an important metric but relying on one number can be misleading. +

+ +

  • Find out how Education, Health, and Employment data track over the years with these countries.
  • +

  • Navigate to the buttons below to gain insights on both expected and unexpected trends.
  • +
    +
    + +
    + + + +
    + + + +
    +
    + + + +

    PS: Hover over bar chart for tool tip

    +

    source:https://data.worldbank.org

    + + + diff --git a/test.html b/test.html new file mode 100644 index 0000000..6efcd0b --- /dev/null +++ b/test.html @@ -0,0 +1,263 @@ + + + + + + + + + + +
    +

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2019 - Employment Data

    + + + +

    + + + +Surprisingly, employment was fairly flat throughout the years, having a large % increase in GDP per +capita did not translate to increased employment in most cases. + + + +

    + +
    + +
    +
    +
    + +
    + + + + + + + From 75f1f1a158e2b3375cb34199a04ba22c214a1f0a Mon Sep 17 00:00:00 2001 From: aamaxaa Date: Mon, 7 Mar 2022 00:54:37 -0500 Subject: [PATCH 02/44] fix --- education.html | 30 ++---- employment.html | 30 +++--- health.html | 28 +++--- index.html | 19 ++-- test.html | 263 ------------------------------------------------ 5 files changed, 46 insertions(+), 324 deletions(-) delete mode 100644 test.html diff --git a/education.html b/education.html index 8cd7202..fd88d90 100644 --- a/education.html +++ b/education.html @@ -5,20 +5,18 @@ @@ -31,7 +29,7 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2 d3.select("body").append("svg").attr("width", width).attr("height", height).attr("class", "chart"); async function init() { - var data01 = await d3.csv("https://raw.githubusercontent.com/steve303/mywebpage/master/data/education.csv"); + var data01 = await d3.csv("https://raw.githubusercontent.com/aamaxaa/final/main/data/education.csv"); console.log(data01); //transform data01 wrt to "country name" => data02 @@ -41,7 +39,7 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2 var countryName = data02.map(d => d.key); //var color = d3.scaleOrdinal().domain(countryName).range(d3.schemePaired); var color = d3.scaleOrdinal().domain(countryName) - .range(["gold", "lightgrey", "green", "grey", "black", "red", "violet", "pink", "brown", "blue", "purple", "orange","skyblue"]); + .range(["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2", "#f5c63c", "#f47f6b","#5344a9"]); var yaxisTitle = "School Enrollment, Tertiary (%gross)" var chartTitle = "School Enrollment, Tertiary (%gross) vs. Year" var marginX = width * 0.10; @@ -208,15 +206,9 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2

    - - Although there is some missing data, tertiary school enrollment appears to have increased - over the years for these ten countries. Furthermore, several of these countries start below - the low income group and then surpass it by 2019. This is a trend we would expect - with increased GDP per capita.
    - note: "low/middle income" refer to groups of countries defined by World Bank. + extra: "low/middle income" refer to groups of countries defined by World Bank.
    -

    diff --git a/employment.html b/employment.html index 974f943..13263b5 100644 --- a/employment.html +++ b/employment.html @@ -5,21 +5,19 @@ @@ -32,7 +30,7 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2 d3.select("body").append("svg").attr("width", width).attr("height", height).attr("class", "chart"); async function init() { - var data01 = await d3.csv("https://raw.githubusercontent.com/steve303/mywebpage/master/data/employment.csv"); + var data01 = await d3.csv("https://raw.githubusercontent.com/aamaxaa/final/main/data/employment.csv"); console.log(data01); //transform data01 wrt to "country name" => data02 @@ -42,7 +40,7 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2 var countryName = data02.map(d => d.key); //var color = d3.scaleOrdinal().domain(countryName).range(d3.schemePaired); var color = d3.scaleOrdinal().domain(countryName) - .range(["gold", "lightgrey", "green", "grey", "black", "red", "violet", "pink", "brown", "blue", "purple", "orange","skyblue"]); + .range(["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2", "#f5c63c", "#f47f6b","#5344a9"]); var yaxisTitle = "% of Adult Population Employed" var chartTitle = "Percent of Adult Population Employed vs. Year" var marginX = width * 0.10; @@ -239,12 +237,10 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2

    - - Surprisingly, employment was fairly flat throughout the years, having a large % increase in GDP per - capita did not translate to increased employment in most cases. +
    - note: "low/middle income" refer to groups of countries defined by World Bank. -
    + extra: "low/middle income" refer to groups of countries defined by World Bank. +

    diff --git a/health.html b/health.html index 1c487f7..4413eb8 100644 --- a/health.html +++ b/health.html @@ -5,20 +5,18 @@ @@ -31,7 +29,7 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2 d3.select("body").append("svg").attr("width", width).attr("height", height).attr("class", "chart"); async function init() { - var data01 = await d3.csv("https://raw.githubusercontent.com/steve303/mywebpage/master/data/health.csv"); + var data01 = await d3.csv("https://raw.githubusercontent.com/aamaxaa/final/main/data/health.csv"); console.log(data01); //transform data01 wrt to "country name" => data02 @@ -41,7 +39,7 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2 var countryName = data02.map(d => d.key); //var color = d3.scaleOrdinal().domain(countryName).range(d3.schemePaired); var color = d3.scaleOrdinal().domain(countryName) - .range(["gold", "lightgrey", "green", "grey", "black", "red", "violet", "pink", "brown", "blue", "purple", "orange","skyblue"]); + .range(["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2", "#f5c63c", "#f47f6b","#5344a9"]); var yaxisTitle = "Mortality Rate (per 1000 male adults)" var chartTitle = "Mortality Rate (per 1000 male adults) vs. Year" var marginX = width * 0.10; @@ -239,11 +237,9 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2

    - In general, mortality rate has shown consistent improvement over the years. This trend is - something we would expect with improved GDP per capita. However this is not exclusive - to these 10 countries. Low income countries as a group also show the same trend. +
    - note: "low/middle income" refer to groups of countries defined by World Bank. + extra: "low/middle income" refer to groups of countries defined by World Bank.

    diff --git a/index.html b/index.html index 031d4db..f4f1d61 100644 --- a/index.html +++ b/index.html @@ -4,12 +4,13 @@ @@ -77,7 +78,7 @@

  • Navigate to the buttons below to gain insights on both expected and unex var svgElem = d3.select("div.divChart").append("svg").attr("width", wx).attr("height", hy).attr("class", "chart"); async function f1() { - const data01 = await d3.csv("https://raw.githubusercontent.com/steve303/mywebpage/master/data/PercentChangeGDP.csv"); + const data01 = await d3.csv("https://raw.githubusercontent.com/aamaxaa/final/main/data/PercentChangeGDP.csv"); console.log(data01); //append xaxis @@ -94,7 +95,7 @@

  • Navigate to the buttons below to gain insights on both expected and unex .attr("class", "axisTxt") .attr("x", 220) .attr("y", 50) - .attr("fill", "black") + .attr("fill", "white") .attr("font-weight", "bold") .attr("font-size", "15") .text("% Increase GDP per Capita from 2000 to 2019 (constant 2010 USD)"); @@ -113,7 +114,7 @@

  • Navigate to the buttons below to gain insights on both expected and unex //append bars var countryName = data01.map(d => d["Country Name"]); var color = d3.scaleOrdinal().domain(countryName) - .range(["gold", "red","purple", "blue", "violet", "pink","skyblue", "orange","brown", "green"]); + .range(["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2"]); svgElem.append("g") .attr("transform", "translate(100,10)") //XY position !!! @@ -184,7 +185,7 @@

  • Navigate to the buttons below to gain insights on both expected and unex -

    PS: Hover over bar chart for tool tip

    +

    extra: Hover over bar chart for tool tip

    source:https://data.worldbank.org

    diff --git a/test.html b/test.html deleted file mode 100644 index 6efcd0b..0000000 --- a/test.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - -
    -

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2019 - Employment Data

    - - - -

    - - - -Surprisingly, employment was fairly flat throughout the years, having a large % increase in GDP per -capita did not translate to increased employment in most cases. - - - -

    - -
    - -
    -
    -
    - -
    - - - - - - - From 8ad8a130331230a377f9fb93778cf4d7641b30a2 Mon Sep 17 00:00:00 2001 From: aamaxaa Date: Mon, 7 Mar 2022 01:10:49 -0500 Subject: [PATCH 03/44] details --- education.html | 17 +++++++++-------- employment.html | 11 ++++++----- health.html | 13 +++++++------ index.html | 12 +++++++----- 4 files changed, 29 insertions(+), 24 deletions(-) diff --git a/education.html b/education.html index fd88d90..a509d04 100644 --- a/education.html +++ b/education.html @@ -11,11 +11,13 @@ .axistxt{font-family: Georgia, 'Times New Roman', Times, serif; font-size: 15} .titletxt{font-family: Georgia, 'Times New Roman', Times, serif; font-weight:bold; font-size: 20} .boxed { font-weight:bold; font-size:18} - .chart{border:solid; border-color:grey; border-width:2px; background-color:white; opacity:0.94} + .chart{border:solid; border-color:grey; border-width:2px; background-color:gray; opacity:0.94} .tick line{stroke:grey} - body{background-color: black; - color:white; + body{ + text-align: center; + background-color: black; + color:white; } @@ -39,9 +41,9 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2 var countryName = data02.map(d => d.key); //var color = d3.scaleOrdinal().domain(countryName).range(d3.schemePaired); var color = d3.scaleOrdinal().domain(countryName) - .range(["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2", "#f5c63c", "#f47f6b","#5344a9"]); - var yaxisTitle = "School Enrollment, Tertiary (%gross)" - var chartTitle = "School Enrollment, Tertiary (%gross) vs. Year" + .range(["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2", "brown", "darkgray","white"]); + var yaxisTitle = "School Enrollment, Tertiary (% gross)" + var chartTitle = "School Enrollment, Tertiary (% gross) vs. Year" var marginX = width * 0.10; var marginY = height * 0.10; var widthX = width - 3.5*marginX; @@ -206,9 +208,8 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2

    -
    +
    extra: "low/middle income" refer to groups of countries defined by World Bank. -

    diff --git a/employment.html b/employment.html index 13263b5..170fc79 100644 --- a/employment.html +++ b/employment.html @@ -12,11 +12,13 @@ .titletxt{font-family: Georgia, 'Times New Roman', Times, serif; font-weight:bold; font-size: 20} .summarytxt{font-weight:bold; font-size:18} .boxed {font-weight:bold; font-size:18} - .chart{border:solid; border-color:grey; border-width:2px; background-color:white; opacity:0.94} + .chart{border:solid; border-color:grey; border-width:2px; background-color:gray; opacity:0.94} .tick line{stroke:grey} - body{background-color: black; - color:white; + body{ + text-align: center; + background-color: black; + color:white; } @@ -40,7 +42,7 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2 var countryName = data02.map(d => d.key); //var color = d3.scaleOrdinal().domain(countryName).range(d3.schemePaired); var color = d3.scaleOrdinal().domain(countryName) - .range(["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2", "#f5c63c", "#f47f6b","#5344a9"]); + .range(["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2", "brown", "darkgray","white"]); var yaxisTitle = "% of Adult Population Employed" var chartTitle = "Percent of Adult Population Employed vs. Year" var marginX = width * 0.10; @@ -237,7 +239,6 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2

    -
    extra: "low/middle income" refer to groups of countries defined by World Bank. diff --git a/health.html b/health.html index 4413eb8..2bbcbb5 100644 --- a/health.html +++ b/health.html @@ -11,11 +11,13 @@ .axistxt{font-family: Georgia, 'Times New Roman', Times, serif; font-size: 15} .titletxt{font-family: Georgia, 'Times New Roman', Times, serif; font-weight:bold; font-size: 20} .boxed { font-weight:bold; font-size:18} - .chart{border:solid; border-color:grey; border-width:2px; background-color:white; opacity:0.94} + .chart{border:solid; border-color:grey; border-width:2px; background-color:gray; opacity:0.94} .tick line{stroke:grey} - body{background-color: black; - color:white; + body{ + background-color: black; + color:white; + text-align: center; } @@ -39,7 +41,7 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2 var countryName = data02.map(d => d.key); //var color = d3.scaleOrdinal().domain(countryName).range(d3.schemePaired); var color = d3.scaleOrdinal().domain(countryName) - .range(["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2", "#f5c63c", "#f47f6b","#5344a9"]); + .range(["#9e0142", "#d53e4f", "#f46d43", "#fdae61", "#fee08b", "#e6f598", "#abdda4", "#66c2a5", "#3288bd", "#5e4fa2", "brown", "darkgray","white"]); var yaxisTitle = "Mortality Rate (per 1000 male adults)" var chartTitle = "Mortality Rate (per 1000 male adults) vs. Year" var marginX = width * 0.10; @@ -236,11 +238,10 @@

    Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2

    -
    extra: "low/middle income" refer to groups of countries defined by World Bank. -
    +

    diff --git a/index.html b/index.html index f4f1d61..9c06693 100644 --- a/index.html +++ b/index.html @@ -8,8 +8,10 @@ font-family:Georgia, 'Times New Roman', Times, serif; } - body{background-color: black; - color:white; + body{ + text-align: center; + background-color: black; + color:white; } @@ -18,15 +20,15 @@

    -Top 10 Countries with Largest Percent Increase in GDP per Capita from 2000-2019 +10 Countries with the Largest GDP Increase per Capita (2000-2019)

    -GDP per Capita is an important metric but relying on one number can be misleading. +GDP is a very important metric but relying solely on GDP to determine a countries growth can be misleading.

  • Find out how Education, Health, and Employment data track over the years with these countries.
  • -

  • Navigate to the buttons below to gain insights on both expected and unexpected trends.
  • +

  • Utilize the buttons below to gain insights on both expected and unexpected trends.

  • From 2ddd9f7ceb13da325ea312d4ce97a5e26bfba079 Mon Sep 17 00:00:00 2001 From: aamaxaa Date: Mon, 7 Mar 2022 01:20:27 -0500 Subject: [PATCH 04/44] Create README.md --- README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b3ff8b6 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Visualization Demo: https://aamaxaa.github.io/final/ From b236f483312c79a942699d37fcfff0c1be19ee3f Mon Sep 17 00:00:00 2001 From: aamaxaa Date: Mon, 7 Mar 2022 01:21:11 -0500 Subject: [PATCH 05/44] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b3ff8b6..b8671c0 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ Visualization Demo: https://aamaxaa.github.io/final/ +Data from: https://data.worldbank.org/ From c95c9f9a2be0a0a870e1804b176850b0e9f8c813 Mon Sep 17 00:00:00 2001 From: aamaxaa Date: Mon, 7 Mar 2022 01:21:58 -0500 Subject: [PATCH 06/44] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b8671c0..1e79554 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -Visualization Demo: https://aamaxaa.github.io/final/ +Visualization Demo: https://aamaxaa.github.io/final/
    Data from: https://data.worldbank.org/ From 7cf5f5381be5c215b455a7bd4842818946a82716 Mon Sep 17 00:00:00 2001 From: aamaxaa Date: Mon, 7 Mar 2022 01:23:25 -0500 Subject: [PATCH 07/44] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e79554..2ac75e8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ Visualization Demo: https://aamaxaa.github.io/final/
    +Process Book:
    Data from: https://data.worldbank.org/ From 60d4cbfabf031d7afd73c97135c78f2e1de602ec Mon Sep 17 00:00:00 2001 From: aamaxaa Date: Mon, 7 Mar 2022 01:27:34 -0500 Subject: [PATCH 08/44] icon --- health.html | 1 + index.html | 3 +++ 2 files changed, 4 insertions(+) diff --git a/health.html b/health.html index 2bbcbb5..bb0582c 100644 --- a/health.html +++ b/health.html @@ -4,6 +4,7 @@ +