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
Election Explorations
Livecoding Election Night Visualizations
Live Election Data
Where Are Votes Outstanding 2020?
Working With Election Data: EAVS
Electoral College
(4)
Where are votes at risk?
Choropleth with Textures.js
Force Bubble Map with Textures.js
Population Change by County 2016-2018: Bubble Lines
Registered Voters by County 2016-2018: Bubble Lines
Registered Voters by County 2016-2018
American Community Survey 2018 by County
Counties with Datasette
Where Are Votes Outstanding? (Data Simulation)
Where Are Votes Outstanding? Visualization Ideas
Harris County Data
Live Election Force Layout
Also listed in…
Season 1
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