Platform
Resources
Pricing
Sign in
Get started
Andres Snitcofsky
Data visualization and hacktivism from Buenos Aires, Argentina. (A Graph designer trying to code)
Workspace
Fork
Published
By
Andres Snitcofsky
Edited
Aug 30, 2020
ISC
1
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
data
=
d3
.
csvParse
(
await
FileAttachment
(
"us-population-state-age.csv"
)
.
text
(
)
,
(
d
,
i
,
columns
)
=>
(
d3
.
autoType
(
d
)
,
d
.
total
=
d3
.
sum
(
columns
,
c
=>
d
[
c
]
)
,
d
)
)
.
sort
(
(
a
,
b
)
=>
b
.
total
-
a
.
total
)
Insert cell
series
=
d3
.
stack
(
)
.
keys
(
data
.
columns
.
slice
(
1
)
)
(
data
)
.
map
(
d
=>
(
d
.
forEach
(
v
=>
v
.
key
=
d
.
key
)
,
d
)
)
Insert cell
x
=
d3
.
scaleLinear
(
)
.
domain
(
[
0
,
d3
.
max
(
series
,
d
=>
d3
.
max
(
d
,
d
=>
d
[
1
]
)
)
]
)
.
range
(
[
margin
.
left
,
width
-
margin
.
right
]
)
Insert cell
y
=
d3
.
scaleBand
(
)
.
domain
(
data
.
map
(
d
=>
d
.
name
)
)
.
range
(
[
margin
.
top
,
height
-
margin
.
bottom
]
)
.
padding
(
0.08
)
Insert cell
color
=
d3
.
scaleOrdinal
(
)
.
domain
(
series
.
map
(
d
=>
d
.
key
)
)
.
range
(
d3
.
schemeSpectral
[
series
.
length
]
)
.
unknown
(
"#ccc"
)
Insert cell
xAxis
=
g
=>
g
.
attr
(
"transform"
,
`translate(0,${
margin
.
top
})`
)
.
call
(
d3
.
axisTop
(
x
)
.
ticks
(
width
/
100
,
"s"
)
)
.
call
(
g
=>
g
.
selectAll
(
".domain"
)
.
remove
(
)
)
Insert cell
yAxis
=
g
=>
g
.
attr
(
"transform"
,
`translate(${
margin
.
left
},0)`
)
.
call
(
d3
.
axisLeft
(
y
)
.
tickSizeOuter
(
0
)
)
.
call
(
g
=>
g
.
selectAll
(
".domain"
)
.
remove
(
)
)
Insert cell
formatValue
=
x
=>
isNaN
(
x
)
?
"N/A"
:
x
.
toLocaleString
(
"en"
)
Insert cell
height
=
data
.
length
*
25
+
margin
.
top
+
margin
.
bottom
Insert cell
margin
=
(
{
top
:
30
,
right
:
10
,
bottom
:
0
,
left
:
30
}
)
Insert cell
d3
=
require
(
"d3@6"
)
Insert cell
import
{
rasterize
,
serialize
}
from
"@mbostock/saving-svg"
Insert cell
html
`<style>
textarea {
display: block;
boxSizing: border-box;
width: calc(100% + 28px);
font: var(--mono_fonts);
minHeight: 33px;
border: none;
padding: 4px 10px;
margin: 0 -14px;
background: rgb(247,247,249);
tabSize: 2;
}
textarea:focus {
outline: none;
}
</style>`
Insert cell
import
{
legend
}
from
"@d3/color-legend"
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
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
key
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
chart
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
source
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
data
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
series
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
x
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
y
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
color
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
xAxis
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
yAxis
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
formatValue
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
height
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
margin
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
d3
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
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML