Platform
Resources
Pricing
Sign in
Get started
Observable
The end-to-end solution for building and hosting better data apps, dashboards, and reports.
Workspace
Fork
Published
2 collections
By
Toph Tucker
Edited
Oct 27, 2020
3 forks
60 stars
Elections
Election 2020 County Vote Distribution within a State
2020 Presidential Election Time Series Anomalies
Montana 2020 Legislative Outcomes
Dot-density election maps with Webgl
Pennsylvania 2020 General Election Mail Ballot Requests Analysis
Election Night Results
2020 Presidential Election Time Series
US Electoral College Results 1900 - 2020
Facebook Advertising in the 2020 Presidential Election
US Presidential Election Results (1976 - 2020)
2020 Presidential Election in Chicago
Blue wave
Election 2020: How reliable are different results at different stages?
Election 2020 Vote–Time Correlation Cartogram
Election 2020 Vote Count Speed Cartogram
What’s the connection between these two election bar charts?
Spinning counties, November 2020
A Better Way to Visualize US Elections 2020 Results
US Elections 2020 Results - Deeper Look
US Election 2020
Indian Country Today #NativeVote2020
Indian Country Today #NativeVote2020
As votes are counted
Try to impeach this? Challenge accepted!
Early Voting Wait Times in Gwinnett County, Georgia
VOTE Logo
Donor Age Distribution of 2020 Contributions by Individuals: Trump vs. Sanders
2020: Where Donation $$ Emerge
Unique Individual Donors contributing to the 2020 Presidential Candidates
Contributions: Trump vs. Biden 2020
Changes to polling places
Electoral College Unit Shuffle
As votes come in, what would it take for the trailing candidate to win?
Electoral College Decision Tree
2004 - 2016 Presidential Margin of Victory per County
2020 State Probabilities by Election Model - Shaded Table
2020 Presidential Election Forecasts
Election Maps: 2016
Working With Election Data: EAVS
3a. Historical participation in early voting vs. Election Day voting
NC Election Map
South Carolina Early and Absentee Voting Data
Race Bar Chart utilities
NC Congressional Districts
Grid cartograms
Paths to the White House (Inferred)
US Elections 2018
How well does population density predict U.S. voting outcomes?
Precincts Reporting Challenge
(7)
US Election Convention Map
Election Data Tutorial
2020 Presidential Election Forecasts
2016 U.S. presidential election (PEPSI Remix)
2016 U.S. presidential election
Election Explorations
(17)
County Maps
(26)
USPS collection box changes
U.S. Geographic Data
U.S. County Visualization Ideas
Rejected Mail Ballots in North Carolina
Also listed in…
Observable's Instagram Shares
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
// currentShare ∈ [0,1] fraction of votes so far cast for Party A
// votesCounted ∈ [0,1] fraction of total votes that have been counted
// shareNeeded ∈ [0,1] fraction of remaining votes needed for Party A to win
shareNeeded
=
(
currentShare
,
votesCounted
)
=>
votesCounted
===
1
?
currentShare
>
.5
?
-
Infinity
:
currentShare
<
.5
?
Infinity
:
NaN
:
(
currentShare
*
votesCounted
-
winThreshold
)
/
(
votesCounted
-
1
)
Insert cell
winThreshold
=
0.5
Insert cell
hue
=
Math
.
floor
(
Math
.
random
(
)
*
360
)
Insert cell
color1
=
`hsl(${
hue
}, 50%, 50%)`
Insert cell
color2
=
`hsl(${
(
hue
+
180
)
%
360
}, 50%, 50%)`
Insert cell
party
=
(
letter
=
"A"
)
=>
html
`<span style="color: ${
letter
===
"A"
?
color1
:
color2
}; font: 14px sans-serif; font-weight: bold;">PARTY ${
letter
}</span>`
Insert cell
Insert cell
// Simple table of results at top
import
{
table
,
pct
}
with
{
color1
,
color2
,
chart
}
from
"8ed8fae68b806147"
Insert cell
// 2D draggable phase space
import
{
viewof
chart
}
with
{
color1
,
color2
}
from
"7dde4d42ff1f3a76"
Insert cell
// Small multiples of phase space
import
{
minis
}
with
{
color1
,
color2
,
chart
}
from
"6e7b258359052066"
Insert cell
// Small multiples of phase space, highlighting share needed to win and outcome
import
{
outcomes
}
with
{
color1
,
color2
,
chart
,
pov
}
from
"fb29011ee10bdeee"
Insert cell
// Dual phase space introducing contours with cone of possible moves
import
{
viewof
dualChart
}
with
{
color1
,
color2
}
from
"9ecea15c8d9a9f1f"
Insert cell
// Contour plot with semi-real historical paths drawn atop
import
{
chart
as
contours
,
outcome
,
bilateralLegend
}
with
{
color1
,
color2
,
shareNeeded
as
value
,
county
}
from
"1549aa94f8c6b9d1"
Insert cell
// Final small multiples with each county’s cone
import
{
viewof
county
}
with
{
color1
,
color2
}
from
"16ab9fc154f01cc1"
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...
Observable's Instagram Shares
Observable
Elections
Observable
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
fig1
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
fig2
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
fig3
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
pov
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
fig4
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
fig5
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
fig6
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
fig7
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
fig8
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
fig9
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
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
shareNeeded
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
winThreshold
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
hue
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
color1
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
color2
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
party
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
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
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