Platform
Resources
Pricing
Sign in
Get started
Juan David Figueroa
Workspace
Fork
Published
By
Juan David Figueroa
Edited
Nov 18, 2020
Insert cell
md
`# PetDB - Entity Statistics`
Insert cell
Insert cell
format
=
d3
.
format
(
",.2r"
)
Insert cell
data
=
Object
.
entries
(
tempData
)
.
map
(
(
[
key
,
val
]
,
i
)
=>
{
const
fullData
=
[
]
let
currentKey
=
key
.
replaceAll
(
'_'
,
' '
)
.
toUpperCase
(
)
return
fullData
[
i
]
=
{
"name"
:
currentKey
,
"value"
:
val
}
}
)
Insert cell
delete
tempData
.
ts
Insert cell
tempData
=
jsonData
[
'data'
]
[
0
]
;
Insert cell
jsonData
=
d3
.
json
(
"https://ecapi.earthchem.org/statistics/entitystatistics"
)
Insert cell
chartColor
=
d3
.
scaleLinear
(
)
.
domain
(
[
d3
.
median
(
data
,
d
=>
d
.
value
)
,
d3
.
max
(
data
,
d
=>
d
.
value
)
]
)
.
nice
(
)
.
range
(
[
"#d6706a"
,
"#8a211b"
]
)
Insert cell
x
=
d3
.
scaleLinear
(
)
.
domain
(
[
0
,
d3
.
max
(
data
,
d
=>
d
.
value
)
]
)
.
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.1
)
Insert cell
xAxis
=
g
=>
g
.
attr
(
"transform"
,
`translate(0,${
margin
.
top
})`
)
.
call
(
d3
.
axisTop
(
x
)
.
ticks
(
width
/
80
)
)
.
call
(
g
=>
g
.
select
(
".domain"
)
.
remove
(
)
)
Insert cell
yAxis
=
g
=>
g
.
attr
(
"transform"
,
`translate(${
margin
.
left
}, 0)`
)
.
call
(
d3
.
axisLeft
(
y
)
.
tickSizeOuter
(
0
)
)
Insert cell
width
=
500
Insert cell
height
=
data
.
length
*
25
+
margin
.
top
+
margin
.
bottom
Insert cell
margin
=
(
{
top
:
20
,
right
:
80
,
bottom
:
20
,
left
:
120
}
)
Insert cell
d3
=
require
(
"d3@6"
)
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
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
chart
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
format
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
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
tempData
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
jsonData
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
chartColor
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
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
width
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