diff --git a/.nojekyll b/.nojekyll index 81f0257..f011435 100644 --- a/.nojekyll +++ b/.nojekyll @@ -1 +1 @@ -f2fa9ae2 \ No newline at end of file +7e9c1c8e \ No newline at end of file diff --git a/decision_checklist.html b/decision_checklist.html new file mode 100644 index 0000000..237bc07 --- /dev/null +++ b/decision_checklist.html @@ -0,0 +1,822 @@ + + + + + + + + + + +GES 778, Spring 2024 - Decisionmaking checklist + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + +
+ +
+
+

Decisionmaking checklist

+
+ + + +
+ +
+
Author
+
+

Camille Seaberry

+
+
+ + +
+
Modified
+
+

February 16, 2024

+
+
+ +
+ + + +
+ + +

When you’re planning out your own work, it’s important to make conscious decisions about what you’re doing and why. I keep saying this, but one of the things I dislike the most about no-code visualization products like Excel or Tableau is that they encourage you to not make these decisions, but to just rely on defaults or automated suggestions.

+

In contrast to just going with defaults, you as a thoughtful visualization practitioner should go through the decisions you could make in order to determine what decisions you should make. This is something you do in your EDA process, as well as in sketching charts on paper.

+

It’s also useful for understanding a chart someone else made, whether just to read it, or to revise or critique it.

+
+

Checklist

+

What decisions could be / should be / were made about…

+
    +
  • what data to include
  • +
  • what data to exclude
  • +
  • what visual encodings to use
  • +
  • what types of scales to use (sequential, qualitative, diverging)
  • +
  • what to put on the x- and y-axes
  • +
  • how to scale the x- and y-axes
  • +
  • how to use color
  • +
  • how to use text
  • +
  • how to use annotations
  • +
  • where to draw attention
  • +
  • what conclusion to suggest
  • +
+

What have I forgotten from this list?

+ + +
+ + Back to top
+ +
+ + + + + \ No newline at end of file diff --git a/index.html b/index.html index ab9d1a9..9c248c2 100644 --- a/index.html +++ b/index.html @@ -274,7 +274,7 @@

Setup

Modified
-

February 15, 2024

+

February 16, 2024

diff --git a/readings.html b/readings.html index ecbb7c3..5150982 100644 --- a/readings.html +++ b/readings.html @@ -249,7 +249,7 @@

Readings

Modified
-

February 15, 2024

+

February 16, 2024

diff --git a/references.html b/references.html index 447cfb2..21b470a 100644 --- a/references.html +++ b/references.html @@ -271,7 +271,7 @@

References by topic

Modified
-

February 15, 2024

+

February 16, 2024

diff --git a/search.json b/search.json index c506383..e382c58 100644 --- a/search.json +++ b/search.json @@ -103,7 +103,7 @@ "href": "weeks/05_good_code.html#exercises-1", "title": "5. Writing good code", "section": "Exercises", - "text": "Exercises\nBuild out your morning routine into a pseudocode function, complete with arguments. Aim to make it flexible enough that you could use it any day of the week.\n\nExample\nPseudocode\nalways need: keys, wallet, phone, meds, mask\nif I'm biking:\n bring a helmet\notherwise:\n bring a bus card\nif I'm working:\n bring my laptop\nif it's Wednesday:\n take a covid test\nWorking R example\n\n# PARAMETERS:\n# date: Date object, today's date\n# biking: Logical, whether or not I'll be biking\n# working: Logical, whether or not I'm going to work\n# RETURNS:\n# prints a string\nleave_the_house <- function(date = lubridate::today(), biking = TRUE, working = TRUE) {\n day_of_week <- lubridate::wday(date, label = TRUE, abbr = FALSE)\n always_need <- c(\"keys\", \"phone\", \"wallet\", \"meds\")\n sometimes_need <- c()\n if (biking) {\n sometimes_need <- c(sometimes_need, \"helmet\")\n } else {\n sometimes_need <- c(sometimes_need, \"bus card\")\n }\n if (working) {\n sometimes_need <- c(sometimes_need, \"laptop\")\n }\n \n need <- c(always_need, sometimes_need)\n cat(\n sprintf(\"Happy %s! Today you need:\", day_of_week), \"\\n\",\n paste(need, collapse = \", \")\n )\n if (day_of_week == \"Wednesday\") {\n cat(\"\\n\\nBut take a COVID test first!\")\n }\n}\n\nleave_the_house(biking = FALSE)\n\nHappy Thursday! Today you need: \n keys, phone, wallet, meds, bus card, laptop", + "text": "Exercises\nBuild out your morning routine into a pseudocode function, complete with arguments. Aim to make it flexible enough that you could use it any day of the week.\n\nExample\nPseudocode\nalways need: keys, wallet, phone, meds, mask\nif I'm biking:\n bring a helmet\notherwise:\n bring a bus card\nif I'm working:\n bring my laptop\nif it's Wednesday:\n take a covid test\nWorking R example\n\n# PARAMETERS:\n# date: Date object, today's date\n# biking: Logical, whether or not I'll be biking\n# working: Logical, whether or not I'm going to work\n# RETURNS:\n# prints a string\nleave_the_house <- function(date = lubridate::today(), biking = TRUE, working = TRUE) {\n day_of_week <- lubridate::wday(date, label = TRUE, abbr = FALSE)\n always_need <- c(\"keys\", \"phone\", \"wallet\", \"meds\")\n sometimes_need <- c()\n if (biking) {\n sometimes_need <- c(sometimes_need, \"helmet\")\n } else {\n sometimes_need <- c(sometimes_need, \"bus card\")\n }\n if (working) {\n sometimes_need <- c(sometimes_need, \"laptop\")\n }\n \n need <- c(always_need, sometimes_need)\n cat(\n sprintf(\"Happy %s! Today you need:\", day_of_week), \"\\n\",\n paste(need, collapse = \", \")\n )\n if (day_of_week == \"Wednesday\") {\n cat(\"\\n\\nBut take a COVID test first!\")\n }\n}\n\nleave_the_house(biking = FALSE)\n\nHappy Friday! Today you need: \n keys, phone, wallet, meds, bus card, laptop", "crumbs": [ "Weekly notes", "5. Writing good code" @@ -114,18 +114,7 @@ "href": "weeks/05_good_code.html#organization", "title": "5. Writing good code", "section": "Organization", - "text": "Organization\nCome up with a structure of directories you like for a project, and stick with it. The notes template repo I setup for this class has a pared down version of what I usually use, but a full version of what I might have, even for a small project, looks like this:\ncool_project \n ¦--analysis # EDA, notebooks, and scripts that create output\n |--design # scripts *only* for creating publishable charts\n ¦--fetch_data # raw data, often downloaded in a script\n ¦ ¦--fr_comments # folders for each raw data source\n ¦ °--pums \n ¦--input_data # cleaned data that is sourced for the project, maybe cleaned in prep scripts\n ¦--output_data # data that's a product of analysis in this project\n ¦--plots # plots that can be distributed or published\n ¦--prep_scripts # scripts that download, clean, reshape data\n °--utils # misc scripts & bits of data to use throughout the project", - "crumbs": [ - "Weekly notes", - "5. Writing good code" - ] - }, - { - "objectID": "weeks/05_good_code.html#build-tools", - "href": "weeks/05_good_code.html#build-tools", - "title": "5. Writing good code", - "section": "Build tools", - "text": "Build tools\nBuild tools are outside the scope of this class, but for larger projects especially or projects that will need to be updated over time, they’ll save you a lot of headaches. I have some projects that I rebuild once a year when new ACS data comes out, and I’ve got things down to where I can make one or two calls on the command line flagging the year as a variable, and all the data wrangling and analyses are ready to go. In fact, this site rebuilds from a frozen list of packages every time I push to GitHub, and if that build is successful, it publishes automatically.\nSome tools I use:\n\nGNU Make, the OG build tool\nSnakemake, like GNU Make but written in Python and designed for data analysis\nGitHub actions, including ones specifically for R\nDocker, build a small isolated environment for your projects, some designed for R\nPackage & environment managers: mamba or conda for Python, renv for R", + "text": "Organization\nCome up with a structure of directories you like for a project, and stick with it. The notes template repo I setup for this class has a pared down version of what I usually use, but a full version of what I might have, even for a small project, looks like this:\ncool_project \n ¦--analysis # EDA, notebooks, and scripts that create output\n |--design # scripts *only* for creating publishable charts\n ¦--fetch_data # raw data, often downloaded in a script\n ¦ ¦--fr_comments # folders for each raw data source\n ¦ °--pums \n ¦--input_data # cleaned data that is sourced for the project, maybe cleaned in prep scripts\n ¦--output_data # data that's a product of analysis in this project\n ¦--plots # plots that can be distributed or published\n ¦--prep_scripts # scripts that download, clean, reshape data\n °--utils # misc scripts & bits of data to use throughout the project\n\n\n\n\n\n\nAn aside: build tools\n\n\n\nBuild tools are outside the scope of this class, but for larger projects especially or projects that will need to be updated over time, they’ll save you a lot of headaches. I have some projects that I rebuild once a year when new ACS data comes out, and I’ve got things down to where I can make one or two calls on the command line flagging the year as a variable, and all the data wrangling and analyses are ready to go. In fact, this site rebuilds from a frozen list of packages every time I push to GitHub, and if that build is successful, it publishes automatically.\nSome tools I use:\n\nGNU Make, the OG build tool\nSnakemake, like GNU Make but written in Python and designed for data analysis\nGitHub actions, including ones specifically for R\nDocker, build a small isolated environment for your projects, some designed for R\nPackage & environment managers: mamba or conda for Python, renv for R", "crumbs": [ "Weekly notes", "5. Writing good code" @@ -229,17 +218,6 @@ "References by topic" ] }, - { - "objectID": "index.html", - "href": "index.html", - "title": "Setup", - "section": "", - "text": "This is a collection of notes to fill in examples and walkthroughs for the Spring 2024 session of GES 778. It will be updated throughout the semester.\nFirst, install the course’s companion R package, justviz. This is in the class’s GitHub organization.\n\n# install.packages(\"devtools\")\ndevtools::install_github(\"umbc-viz/justviz\")\n\nNext, some packages that aren’t required by the justviz package but will get us started for class and are used in these notes:\n\ncran_pkgs <- c(\"ggplot2\", # data visualization powerhouse\n \"dplyr\", # nice for calculations and data manipulation\n \"tidyr\", # data reshaping\n \"forcats\", # handling factors\n \"stringr\", # string cleanup\n \"showtext\", # nice fonts\n \"ggrepel\", # force-repelled placement of labels\n \"osmdata\", # easy access to sf data from OpenStreetMap\n \"tigris\", # shapefiles from Census Bureau TIGER\n \"patchwork\", # assembling plots\n \"ggmap\", # basemaps in ggplot\n \"ggtext\", # use rich text / markdown in ggplot\n \"here\", # marks project roots\n \"knitr\", # preps conversions between markdown and other formats\n \"gt\", # like ggplot but for tables \n \"rcartocolor\") # color palettes\n\ninstall.packages(cran_pkgs)\n\n\n\n\n Back to top", - "crumbs": [ - "Overview", - "Setup" - ] - }, { "objectID": "syllabus.html", "href": "syllabus.html", @@ -317,6 +295,31 @@ "Syllabus" ] }, + { + "objectID": "index.html", + "href": "index.html", + "title": "Setup", + "section": "", + "text": "This is a collection of notes to fill in examples and walkthroughs for the Spring 2024 session of GES 778. It will be updated throughout the semester.\nFirst, install the course’s companion R package, justviz. This is in the class’s GitHub organization.\n\n# install.packages(\"devtools\")\ndevtools::install_github(\"umbc-viz/justviz\")\n\nNext, some packages that aren’t required by the justviz package but will get us started for class and are used in these notes:\n\ncran_pkgs <- c(\"ggplot2\", # data visualization powerhouse\n \"dplyr\", # nice for calculations and data manipulation\n \"tidyr\", # data reshaping\n \"forcats\", # handling factors\n \"stringr\", # string cleanup\n \"showtext\", # nice fonts\n \"ggrepel\", # force-repelled placement of labels\n \"osmdata\", # easy access to sf data from OpenStreetMap\n \"tigris\", # shapefiles from Census Bureau TIGER\n \"patchwork\", # assembling plots\n \"ggmap\", # basemaps in ggplot\n \"ggtext\", # use rich text / markdown in ggplot\n \"here\", # marks project roots\n \"knitr\", # preps conversions between markdown and other formats\n \"gt\", # like ggplot but for tables \n \"rcartocolor\") # color palettes\n\ninstall.packages(cran_pkgs)\n\n\n\n\n Back to top", + "crumbs": [ + "Overview", + "Setup" + ] + }, + { + "objectID": "decision_checklist.html", + "href": "decision_checklist.html", + "title": "Decisionmaking checklist", + "section": "", + "text": "When you’re planning out your own work, it’s important to make conscious decisions about what you’re doing and why. I keep saying this, but one of the things I dislike the most about no-code visualization products like Excel or Tableau is that they encourage you to not make these decisions, but to just rely on defaults or automated suggestions.\nIn contrast to just going with defaults, you as a thoughtful visualization practitioner should go through the decisions you could make in order to determine what decisions you should make. This is something you do in your EDA process, as well as in sketching charts on paper.\nIt’s also useful for understanding a chart someone else made, whether just to read it, or to revise or critique it." + }, + { + "objectID": "decision_checklist.html#checklist", + "href": "decision_checklist.html#checklist", + "title": "Decisionmaking checklist", + "section": "Checklist", + "text": "Checklist\nWhat decisions could be / should be / were made about…\n\nwhat data to include\nwhat data to exclude\nwhat visual encodings to use\nwhat types of scales to use (sequential, qualitative, diverging)\nwhat to put on the x- and y-axes\nhow to scale the x- and y-axes\nhow to use color\nhow to use text\nhow to use annotations\nwhere to draw attention\nwhat conclusion to suggest\n\nWhat have I forgotten from this list?" + }, { "objectID": "weeks/06_color.html", "href": "weeks/06_color.html", @@ -377,7 +380,7 @@ "href": "weeks/index.html", "title": "Weekly notes", "section": "", - "text": "Order By\n Default\n \n Title\n \n \n \n \n \n \n \n\n\n\n\n\nTitle\n\n\nModified\n\n\n\n\n\n\n0. Definitions\n\n\nFebruary 15, 2024\n\n\n\n\n1. Walkthrough\n\n\nFebruary 15, 2024\n\n\n\n\n2. Components of a chart\n\n\nFebruary 15, 2024\n\n\n\n\n3. Visual encoding\n\n\nFebruary 15, 2024\n\n\n\n\n3b. Encoding cheatsheets\n\n\nFebruary 15, 2024\n\n\n\n\n4. Learning about your data\n\n\nFebruary 15, 2024\n\n\n\n\n5. Writing good code\n\n\nFebruary 15, 2024\n\n\n\n\n6. Color\n\n\nFebruary 15, 2024\n\n\n\n\n\nNo matching items\n\n Back to top", + "text": "Order By\n Default\n \n Title\n \n \n \n \n \n \n \n\n\n\n\n\nTitle\n\n\nModified\n\n\n\n\n\n\n0. Definitions\n\n\nFebruary 16, 2024\n\n\n\n\n1. Walkthrough\n\n\nFebruary 16, 2024\n\n\n\n\n2. Components of a chart\n\n\nFebruary 16, 2024\n\n\n\n\n3. Visual encoding\n\n\nFebruary 16, 2024\n\n\n\n\n3b. Encoding cheatsheets\n\n\nFebruary 16, 2024\n\n\n\n\n4. Learning about your data\n\n\nFebruary 16, 2024\n\n\n\n\n5. Writing good code\n\n\nFebruary 16, 2024\n\n\n\n\n6. Color\n\n\nFebruary 16, 2024\n\n\n\n\n\nNo matching items\n\n Back to top", "crumbs": [ "Weekly notes" ] diff --git a/sitemap.xml b/sitemap.xml index 29f088b..bc15fdf 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,54 +2,58 @@ https://umbc-viz.github.io/ges778/readings.html - 2024-02-15T17:13:18.338Z + 2024-02-16T16:30:10.108Z https://umbc-viz.github.io/ges778/weeks/05_good_code.html - 2024-02-15T17:13:18.342Z + 2024-02-16T16:30:10.108Z https://umbc-viz.github.io/ges778/weeks/03b_encoding_refs.html - 2024-02-15T17:13:18.342Z + 2024-02-16T16:30:10.108Z https://umbc-viz.github.io/ges778/weeks/04_understanding_data.html - 2024-02-15T17:13:18.342Z + 2024-02-16T16:30:10.108Z https://umbc-viz.github.io/ges778/weeks/02_components.html - 2024-02-15T17:13:18.338Z + 2024-02-16T16:30:10.108Z https://umbc-viz.github.io/ges778/references.html - 2024-02-15T17:13:18.338Z + 2024-02-16T16:30:10.108Z + + + https://umbc-viz.github.io/ges778/syllabus.html + 2024-02-16T16:30:10.108Z https://umbc-viz.github.io/ges778/index.html - 2024-02-15T17:13:18.338Z + 2024-02-16T16:30:10.104Z - https://umbc-viz.github.io/ges778/syllabus.html - 2024-02-15T17:13:18.338Z + https://umbc-viz.github.io/ges778/decision_checklist.html + 2024-02-16T16:30:10.104Z https://umbc-viz.github.io/ges778/weeks/06_color.html - 2024-02-15T17:13:18.342Z + 2024-02-16T16:30:10.108Z https://umbc-viz.github.io/ges778/weeks/index.html - 2024-02-15T17:13:18.342Z + 2024-02-16T16:30:10.112Z https://umbc-viz.github.io/ges778/weeks/01_walkthrough.html - 2024-02-15T17:13:18.338Z + 2024-02-16T16:30:10.108Z https://umbc-viz.github.io/ges778/weeks/03_encoding.html - 2024-02-15T17:13:18.342Z + 2024-02-16T16:30:10.108Z https://umbc-viz.github.io/ges778/weeks/00_definitions.html - 2024-02-15T17:13:18.338Z + 2024-02-16T16:30:10.108Z diff --git a/syllabus.html b/syllabus.html index 23ca575..5380f5b 100644 --- a/syllabus.html +++ b/syllabus.html @@ -295,7 +295,7 @@

Syllabus

Modified
-

February 15, 2024

+

February 16, 2024

diff --git a/weeks/00_definitions.html b/weeks/00_definitions.html index 8143457..e6bc495 100644 --- a/weeks/00_definitions.html +++ b/weeks/00_definitions.html @@ -270,7 +270,7 @@

0. Definitions

Modified
-

February 15, 2024

+

February 16, 2024

diff --git a/weeks/01_walkthrough.html b/weeks/01_walkthrough.html index a1688ea..0955e9f 100644 --- a/weeks/01_walkthrough.html +++ b/weeks/01_walkthrough.html @@ -269,7 +269,7 @@

1. Walkthrough

Modified
-

February 15, 2024

+

February 16, 2024

@@ -314,23 +314,23 @@

Do you even need
-
- @@ -838,23 +838,23 @@

The wage gaps

-
- diff --git a/weeks/02_components.html b/weeks/02_components.html index cf37caa..4b611a5 100644 --- a/weeks/02_components.html +++ b/weeks/02_components.html @@ -307,7 +307,7 @@

2. Components of a chart

Modified
-

February 15, 2024

+

February 16, 2024

diff --git a/weeks/03_encoding.html b/weeks/03_encoding.html index 3a2b587..99d8726 100644 --- a/weeks/03_encoding.html +++ b/weeks/03_encoding.html @@ -305,7 +305,7 @@

3. Visual encoding

Modified
-

February 15, 2024

+

February 16, 2024

diff --git a/weeks/03b_encoding_refs.html b/weeks/03b_encoding_refs.html index 53d7f3e..b29f53d 100644 --- a/weeks/03b_encoding_refs.html +++ b/weeks/03b_encoding_refs.html @@ -261,7 +261,7 @@

3b. Encoding cheatsheets

Modified
-

February 15, 2024

+

February 16, 2024

diff --git a/weeks/04_understanding_data.html b/weeks/04_understanding_data.html index 59b0e1b..6fe2e5e 100644 --- a/weeks/04_understanding_data.html +++ b/weeks/04_understanding_data.html @@ -311,7 +311,7 @@

4. Learning about your data

Modified
-

February 15, 2024

+

February 16, 2024

diff --git a/weeks/05_good_code.html b/weeks/05_good_code.html index 6821112..fdcdac6 100644 --- a/weeks/05_good_code.html +++ b/weeks/05_good_code.html @@ -265,7 +265,6 @@

On this page

  • Example
  • Organization
  • -
  • Build tools
  • @@ -292,7 +291,7 @@

    5. Writing good code

    Modified
    -

    February 15, 2024

    +

    February 16, 2024

    @@ -402,7 +401,7 @@

    Example

    leave_the_house(biking = FALSE)
    -
    Happy Thursday! Today you need: 
    +
    Happy Friday! Today you need: 
      keys, phone, wallet, meds, bus card, laptop
    @@ -422,9 +421,16 @@

    Organization

    ¦--plots # plots that can be distributed or published ¦--prep_scripts # scripts that download, clean, reshape data °--utils # misc scripts & bits of data to use throughout the project
    - -
    -

    Build tools

    +
    +
    +
    + +
    +
    +An aside: build tools +
    +
    +

    Build tools are outside the scope of this class, but for larger projects especially or projects that will need to be updated over time, they’ll save you a lot of headaches. I have some projects that I rebuild once a year when new ACS data comes out, and I’ve got things down to where I can make one or two calls on the command line flagging the year as a variable, and all the data wrangling and analyses are ready to go. In fact, this site rebuilds from a frozen list of packages every time I push to GitHub, and if that build is successful, it publishes automatically.

    Some tools I use:

      @@ -434,6 +440,8 @@

      Build tools

    • Docker, build a small isolated environment for your projects, some designed for R
    • Package & environment managers: mamba or conda for Python, renv for R
    +
    +
    diff --git a/weeks/06_color.html b/weeks/06_color.html index 044c71c..a8aa3c8 100644 --- a/weeks/06_color.html +++ b/weeks/06_color.html @@ -303,7 +303,7 @@

    6. Color

    Modified
    -

    February 15, 2024

    +

    February 16, 2024

    diff --git a/weeks/index.html b/weeks/index.html index 8bdd8aa..8708414 100644 --- a/weeks/index.html +++ b/weeks/index.html @@ -300,7 +300,7 @@

    Weekly notes

    Modified
    -

    February 15, 2024

    +

    February 16, 2024

    @@ -344,68 +344,68 @@

    Weekly notes

    - + 0. Definitions -February 15, 2024 +February 16, 2024 - + 1. Walkthrough -February 15, 2024 +February 16, 2024 - + 2. Components of a chart -February 15, 2024 +February 16, 2024 - + 3. Visual encoding -February 15, 2024 +February 16, 2024 - + 3b. Encoding cheatsheets -February 15, 2024 +February 16, 2024 - + 4. Learning about your data -February 15, 2024 +February 16, 2024 - + 5. Writing good code -February 15, 2024 +February 16, 2024 - + 6. Color -February 15, 2024 +February 16, 2024