Platform
Resources
Pricing
Sign in
Get started
sungryeol park(max)
frontend + d3
Workspace
Fork
Published
By
sungryeol park(max)
Edited
Jul 8, 2021
1 star
2
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
trans
=
(
x
,
y
,
k
)
=>
{
if
(
k
)
return
`translate(${
[
x
,
y
,
k
]
.
join
(
','
)
})`
;
return
`translate(${
[
x
,
y
]
.
join
(
','
)
})`
;
}
Insert cell
getKey
=
(
[
k
,
v
]
)
=>
k
Insert cell
getValue
=
(
[
k
,
v
]
)
=>
v
Insert cell
cfg
=
{
const
c
=
{
height
:
600
,
width
:
width
,
marginTop
:
50
,
marginBottom
:
50
,
marginLeft
:
50
,
marginRight
:
50
}
;
return
{
...
c
,
chartWidth
:
c
.
width
-
(
c
.
marginTop
+
c
.
marginBottom
)
,
chartHeight
:
c
.
height
-
(
c
.
marginLeft
+
c
.
marginRight
)
}
;
}
Insert cell
scaleX
=
d3
.
scaleLinear
(
)
.
domain
(
[
minValue
,
maxValue
]
)
.
range
(
[
0
,
cfg
.
chartWidth
]
)
;
Insert cell
scaleAltY
=
{
const
minKey
=
d3
.
min
(
Array
.
from
(
newData
.
keys
(
)
)
.
map
(
n
=>
Number
(
n
)
)
)
;
const
maxKey
=
d3
.
max
(
Array
.
from
(
newData
.
keys
(
)
)
.
map
(
n
=>
Number
(
n
)
)
)
;
return
d3
.
scaleLinear
(
)
.
domain
(
[
minKey
,
maxKey
]
)
.
range
(
[
0
,
cfg
.
chartHeight
]
)
;
}
Insert cell
maxValue
=
d3
.
max
(
newData
.
values
(
)
)
Insert cell
minValue
=
d3
.
min
(
newData
.
values
(
)
)
Insert cell
axisScaleY
=
d3
.
scaleLinear
(
)
.
domain
(
[
maxValue
,
minValue
]
)
.
range
(
scaleY
.
range
(
)
)
Insert cell
scaleY
=
d3
.
scaleLinear
(
)
.
domain
(
[
minValue
,
maxValue
]
)
.
range
(
[
0
,
cfg
.
height
-
(
cfg
.
marginTop
+
cfg
.
marginBottom
)
]
)
Insert cell
scaleBandX
=
d3
.
scaleBand
(
)
.
domain
(
newData
.
keys
(
)
)
.
range
(
[
cfg
.
marginLeft
,
cfg
.
width
-
(
cfg
.
marginLeft
+
cfg
.
marginRight
)
]
)
.
paddingInner
(
.2
)
Insert cell
barWidth
=
scaleBandX
.
bandwidth
(
)
Insert cell
Insert cell
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
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
data
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
labels
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
reduceds
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
newData
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
chartA
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
chartB
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
style
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
trans
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
getKey
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
cfg
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
scaleX
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
scaleAltY
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
maxValue
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
minValue
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
axisScaleY
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
scaleY
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
scaleBandX
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
barWidth
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
chartScreenshotUrl
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
bookCoverUrl
Edit
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