Platform
Resources
Pricing
Sign in
Get started
Coding with Fire
EJ Fox & Ian Johnson streaming data, code, acid, design
Workspace
Fork
Published
2 collections
By
EJ Fox
Edited
Sep 22, 2020
Importers
2 stars
3
Season 1
Coding With Fire - Crowd Control Color Palette
CMU COVIDcast API
CMU COVIDcast API: Map maker
Map Maker Dot Density: Cumulative Covid Cases
Pattern Moire - Line & Circle Grids with Colorschemes
Pattern Moire - Line & Circle Grids
Custom Cluster Force Layout
CMU COVIDcast API: Map maker Bubbles Canvas
CMU COVIDcast API: Map maker Bubbles
CMU COVIDcast API: Map maker Bubbles II
CMU COVIDcast API: Map maker Timelapse
Coding With Fire: Mind Map
Graphene Moiré
Graphene Moiré Firebase
Graphene Moiré 3D
Coding With Fire: Paths as Points
Coding With Fire: 3D Paths
Freaky Dot Patterns
Coding With Fire: NYPD CCRB
Where are votes at risk?
Voronoi PurpleAir
Deadline Timers 2
CMU COVIDcast API: Bubbles Export
Emojis
Emoji Treemap Small Multiples
Counties with Datasette
American Community Survey 2018 by County
Registered Voters by County 2016-2018
Population Change by County 2016-2018: Bubble Lines
Registered Voters by County 2016-2018: Bubble Lines
CMU COVIDcast API: Bubbles Dark Mode
US Bubble Choropleth: Travel From Centroid
US Bubble Choropleth: Travel From Centroid
CMU COVIDcast API: Bubbles Textures Interactive Timelapse
Choropleth with Textures.js
Force Bubble Map with Textures.js
Where Are Votes Outstanding? (Data Simulation)
Where Are Votes Outstanding? Visualization Ideas
Electoral College Unit Charts
Electoral College Unit Charts With Text
Electoral College Unit Shuffle
Also listed in…
Election Explorations
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
metrics
=
Object
.
keys
(
eavsby
.
counties
[
0
]
)
Insert cell
Insert cell
eavsby
.
counties
Insert cell
eavsbyfips
=
d3
.
group
(
eavsby
.
counties
,
d
=>
d
.
FIPSCode
.
slice
(
0
,
5
)
)
Insert cell
Insert cell
// We use a log color scale
pollperregisteredColor
=
d3
.
scaleSequential
(
pollperregisteredExtent
,
d3
.
interpolateReds
)
Insert cell
pollperregisteredExtent
=
[
0.01
,
0
]
//d3.extent(eavsby.counties, getValue).reverse()
Insert cell
getValue
=
function
(
d
)
{
// active metric per county
// +d[activeMetric] / pop
// poll places per registered voter
return
+
d
[
"D4a"
]
/
+
d
[
"A1a"
]
;
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
po
Insert cell
Insert cell
// activePostOffices = d3
// .csvParse(await FileAttachment("Post Offices@1.csv").text())
// .filter(po => {
// let nameWords = po.name.split(' ');
// return !nameWords.includes('(historical)');
// })
Insert cell
activePostOffices
=
d3
.
csvParse
(
await
FileAttachment
(
"postoffices.csv"
)
.
text
(
)
)
.
filter
(
d
=>
d
.
status
==
"Open"
)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
function
colorCountyByElectionData
(
fips
,
metric
=
"diff"
)
{
let
d
=
countyElectionResults
.
filter
(
d
=>
+
d
.
combined_fips
==
+
fips
)
[
0
]
;
if
(
!
d
)
return
false
;
return
voteDiffColorScale
(
+
d
.
diff
)
;
// if (!d) return '#999';
// if (+d.votes_dem > +d.votes_gop) return 'blue';
// else return 'red';
}
Insert cell
Insert cell
Insert cell
{
let
d
=
countyElectionResults
.
filter
(
d
=>
+
d
.
combined_fips
==
+
electionResults
.
id
)
[
0
]
;
if
(
!
d
)
return
""
;
return
md
`
${
getPoId
(
electionResults
)
}
difference: ${
numformat
(
d
.
diff
)
}
population: ${
numformat
(
pop
.
get
(
electionResults
.
id
)
)
}
`
;
}
Insert cell
electionResults
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
activeMetricExtent
=
d3
.
extent
(
eavsby
.
counties
,
d
=>
+
d
[
activeMetric
]
)
Insert cell
Insert cell
numformat
=
d3
.
format
(
",d"
)
Insert cell
statesByFips
Insert cell
import
{
us
,
countyShapes
,
populationData
,
populationByCounty
,
populationColor
,
statesMesh
,
statesByFips
,
height
,
projection
,
populationFormat
,
legend
,
path
}
from
"@enjalot/making-a-county-map"
Insert cell
topojson
=
require
(
"topojson-client@3"
)
Insert cell
Insert cell
usc
=
require
(
'https://bundle.run/us-state-codes@1.1.2'
)
Insert cell
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Fork
View
Export
Listed in...
Season 1
Coding with Fire
Election Explorations
Coding with Fire
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Show 2 comments
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
lpp
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
percent
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
eavs
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
metrics
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
eavsby
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
eavsbyfips
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
pop
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
pollperregisteredColor
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
pollperregisteredExtent
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
getValue
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
po
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
getPoId
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
activePostOffices
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
voteDiffExtent
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
countyElectionResults
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
poExtent
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
poColor
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
poByCounty
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
voteDiffColorScale
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
colorCountyByElectionData
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
electionResults
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
activeMetric
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
ratioScale
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
activeMetricColor
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
activeMetricMap
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
activeMetricExtent
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
numformat
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
topojson
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
d3
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
usc
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML