diff --git a/syllabus.md b/syllabus.md
index f6bfc7d..952f4af 100644
--- a/syllabus.md
+++ b/syllabus.md
@@ -160,9 +160,9 @@ table th:nth-of-type(3) {
|
Week 7 | Dashboards & Maps with bqplot | 1. VAD Ch. 8.1-8.3: Arrange Spatial Data
2. VAD Ch. 11.1-11.5: Manipulate View
3.
FDV, Ch. 15: Visualizing geospatial data
|
Week 8 | More with maps - bqplot, cartopy, ipyleaflet, geopandas | 1. VAD Ch. 8.1-8.3: Arrange Spatial Data
2.
FDV, Ch. 15: Visualizing geospatial data 3. VAD, Ch. 13.4.2: Reduce Items and Attributes
4.
Cartopy docs;
ipyleaflet docs;
Geopandas Docs
|
Week 9 | Designing for the web with vega-lite & Altair & Streamlit | 1.
vega-lite docs 2.
Altair docs - in particular
Encoding Data Types,
Vegalite-Altair conversions,
Binning,
Filter transforms and
interactive examples 3.
FDV, Ch. 5: Directory of visualizations
-|
Week 10 | Web dev with Streamlit + HuggingFace; Considering your audience | 1.
Same Data, Multiple Perspectives 2.
FDV, Ch. 29: Telling a story and making a point 3.
Streamlit docs - in particular the
the Main Concepts and
Make an App tutorials, and the docs for
text,
layout and
image API elements
4.
Streamlit on HuggingFace 5.
Altair Docs - in particular
Including Indexes,
Interactivity & Selections,
Multi-line tooltips,
Interactive Binning,
Filter Transformations
-|
Week 11 | Web dev with Streamlit + HuggingFace | 1.
Streamlit docs - in particular
matplotlib plots 2.
Streamlit on HuggingFace 3.
Altair Docs - in particular
Including Indexes,
Interactivity & Selections,
Multi-line tooltips,
Interactive Binning,
Filter Transformations
-|
Week 12 | More web dev with Streamlit & Altair | 1.
Streamlit docs 2.
Streamlit on HuggingFace with a focus on
Multi-page apps
+|
Week 10 | Web dev with Streamlit + HuggingFace; Considering your audience | 1.
Same Data, Multiple Perspectives 2.
FDV, Ch. 29: Telling a story and making a point 3.
Streamlit docs - in particular the
the Main Concepts and
Make an App tutorials, and the docs for
text,
layout and
image API elements
4.
Streamlit on HuggingFace 5.
Altair Docs - in particular
Including Indexes,
Interactivity & Selections,
Multi-line tooltips,
Interactive Binning,
Filter Transformations 6.
This blog post for a walkthrough of deploying a Streamlit space on HuggingFace
+|
Week 11 | Web dev with Streamlit + HuggingFace | 1.
Streamlit docs - in particular
matplotlib plots 2.
Streamlit on HuggingFace 3.
Altair Docs - in particular
Including Indexes,
Interactivity & Selections,
Multi-line tooltips,
Interactive Binning,
Filter Transformations 4.
This blog post for a walkthrough of deploying a Streamlit space on HuggingFace
+|
Week 12 | More web dev with Streamlit & Altair | 1.
Streamlit docs 2.
Streamlit on HuggingFace with a focus on
Multi-page apps 3.
This blog post for a walkthrough of deploying a Streamlit space on HuggingFace
|
Week 13 | Jekyll, Altair & vega-lite, Publishing Viz, Intro to SciViz | 1.
Jekyll Tutorials (hit "Next" to see them at bottom) 2.
Chapter 5: Dimensions of Visual Misinformation in the Emerging Media Landscape in the book "Misinformation and Mass Audiences"
|
Week 14 | Fall break! | No class, enjoy!
|
Week 15 | Even more with Jekyll & Altair & vega-lite + Guest lecture about scientific & cinematic viz from
NASA SVS | 1.
Altair Docs - in particular
Including Indexes,
Interactivity & Selections,
Multi-line tooltips,
Interactive Binning,
Filter Transformations,
Geographic plots, and
Fold Transformations 2. VAD Ch. 8.4-8.6: Arrange Spatial Data
3. VAD Ch. 11.6: Manipulate View
4.
yt docs 5.
yt Volume Rendering Tutorial
diff --git a/week08/.ipynb_checkpoints/inClass_week08-checkpoint.ipynb b/week08/.ipynb_checkpoints/inClass_week08-checkpoint.ipynb
index 5c2931d..0078664 100644
--- a/week08/.ipynb_checkpoints/inClass_week08-checkpoint.ipynb
+++ b/week08/.ipynb_checkpoints/inClass_week08-checkpoint.ipynb
@@ -3974,7 +3974,9 @@
"id": "9f341341-0df9-4ff8-8bde-31ee76935adf",
"metadata": {},
"source": [
- "## Geopandas + Contextily"
+ "## Geopandas + Contextily\n",
+ "\n",
+ "**NOTE:** If you are on PrairieLearn, you may have to specify the `source` each time (see commented out example below)."
]
},
{
@@ -33144,13 +33146,64 @@
" plt.show()"
]
},
+ {
+ "cell_type": "markdown",
+ "id": "31bb394f-924c-46ed-a661-1117187af0d0",
+ "metadata": {},
+ "source": [
+ "## Homework 4 example"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 87,
+ "id": "39cfcef5-6443-4394-8322-d5aa1dd09ba5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "gdf_example = geopandas.read_file('https://www2.census.gov/geo/tiger/TIGER2024/STATE/tl_2024_us_state.zip')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 88,
+ "id": "55ac4667-1447-47a4-adcb-8ee34361b13e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "
"
+ ]
+ },
+ "execution_count": 88,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ "