Platform
Resources
Pricing
Sign in
Get started
Asif Iqbal Rahaman
Workspace
Fork
Public
By
Asif Iqbal Rahaman
Edited
Dec 9, 2022
1 fork
2
Insert cell
Insert cell
data
=
FileAttachment
(
"main_data@2.csv"
)
.
csv
(
{
typed
:
true
}
)
Insert cell
m_data
=
data
.
map
(
(
d
)
=>
(
{
Characteristic
:
d
[
"Characteristic"
]
,
"US Citizen or PR"
:
d
[
"M - US Citizen or PR"
]
,
"Temp VISA Holder"
:
d
[
"M - Temp VISA Holder"
]
,
Unknown
:
d
[
"M - Unknown"
]
}
)
)
Insert cell
f_data
=
data
.
map
(
(
d
)
=>
(
{
Characteristic
:
d
[
"Characteristic"
]
,
"US Citizen or PR"
:
d
[
"F - US Citizen or PR"
]
,
"Temp VISA Holder"
:
d
[
"F - Temp VISA Holder"
]
,
Unknown
:
d
[
"F - Unknown"
]
}
)
)
Insert cell
fld
=
data
.
map
(
(
row
)
=>
row
.
Characteristic
)
Insert cell
cat
=
data
.
columns
.
slice
(
1
)
Insert cell
m_cat
=
data
.
columns
.
slice
(
1
,
4
)
.
map
(
(
s
)
=>
s
.
slice
(
4
)
)
Insert cell
f_cat
=
data
.
columns
.
slice
(
4
)
.
map
(
(
s
)
=>
s
.
slice
(
4
)
)
Insert cell
m_doc
=
m_cat
.
flatMap
(
(
CitizenStatus
)
=>
m_data
.
map
(
(
d
)
=>
(
{
"MaleDoctorates"
:
d
.
Characteristic
,
CitizenStatus
,
Count
:
d
[
CitizenStatus
]
}
)
)
)
Insert cell
f_doc
=
f_cat
.
flatMap
(
(
CitizenStatus
)
=>
f_data
.
map
(
(
d
)
=>
(
{
"FemaleDoctorates"
:
d
.
Characteristic
,
CitizenStatus
,
Count
:
d
[
CitizenStatus
]
}
)
)
)
Insert cell
Insert cell
m_chart
=
Plot
.
plot
(
{
width
,
y
:
{
tickFormat
:
"s"
,
domain
:
[
0
,
8000
]
,
grid
:
true
}
,
color
:
{
scheme
:
"spectral"
,
domain
:
m_cat
}
,
marks
:
[
Plot
.
barY
(
m_doc
,
{
x
:
"MaleDoctorates"
,
y
:
"Count"
,
fill
:
"CitizenStatus"
}
)
,
Plot
.
text
(
m_doc
,
{
x
:
"MaleDoctorates"
,
y
:
"Count"
,
text
:
(
d
)
=>
d
.
Count
,
rotate
:
180
}
)
,
Plot
.
ruleY
(
[
0
]
)
]
}
)
Insert cell
Insert cell
doc
=
cat
.
flatMap
(
(
CitizenStatus
)
=>
data
.
map
(
(
d
)
=>
(
{
FieldOfStudy
:
d
.
Characteristic
,
CitizenStatus
,
Count
:
d
[
CitizenStatus
]
}
)
)
)
Insert cell
key
=
Swatches
(
d3
.
scaleOrdinal
(
cat
,
d3
.
schemeSpectral
[
cat
.
length
]
)
,
{
title
:
"Citizenship Status"
,
ticksize
:
0
}
)
Insert cell
chart
=
Plot
.
plot
(
{
width
,
y
:
{
tickFormat
:
"s"
}
,
color
:
{
scheme
:
"spectral"
,
domain
:
cat
}
,
marks
:
[
Plot
.
barY
(
doc
,
{
x
:
"FieldOfStudy"
,
y
:
"Count"
,
fill
:
"CitizenStatus"
}
)
,
Plot
.
ruleY
(
[
0
]
)
]
}
)
Insert cell
import
{
StackedBarChart
}
from
"@d3/stacked-bar-chart"
Insert cell
import
{
Legend
,
Swatches
}
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
data
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
m_data
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
f_data
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
fld
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
cat
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
m_cat
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
f_cat
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
m_doc
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
f_doc
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
m_key
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
m_chart
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
f_chart
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
doc
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
key
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
chart
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