Public
Edited
May 15
Insert cell
Insert cell
data = FileAttachment("census2000-1 (1).csv").csv()
Insert cell
data.columns

Insert cell
datal = FileAttachment("Updated_Gender_Percentages@1.csv").csv()
Insert cell
datareshape = FileAttachment("reshaped_data.csv").csv()
Insert cell
vl.markBar()
.data(datal)
.transform(
vl.calculate("datum.Sex === '1' ? 'Male' : 'Female'").as("SexLabel"),
vl.calculate("toNumber(datum.Age)").as("AgeNum")
)
.encode(
vl.x().fieldO("AgeNum").title("Age").sort("ascending"),
vl.y().fieldQ("People").title("Population"),
vl.color().fieldN("SexLabel").title("Sex"),
vl.column().fieldN("Year").title("Year").spacing(10)
)
.width(200)
.height(300)
.title("Population by Age, Sex, and Year (1900 vs 2000)")
.render()

Insert cell
vl.markBar()
.data(datanew)
.transform(
// Ensure correct transformations
vl.calculate("toNumber(datum.Age)").as("AgeNum"), // Convert Age to a number
vl.calculate("datum.Sex === '1' ? 'Male' : 'Female'").as("SexLabel") // Create a new 'SexLabel' field
)
.encode(
vl.x().fieldO("AgeNum").title("Age").sort("ascending"), // Age on x-axis
vl.y().fieldQ("Percentage").title("Percentage of Population"), // Percentage on y-axis
vl.color().fieldN("Year").title("Year"), // Color by Year (1900 vs 2000)
vl.column().fieldN("SexLabel").title("Sex").spacing(10) // Column by Sex (Male and Female)
)
.width(200)
.height(300)
.title("Percentage of Population by Age, Sex, and Year (1900 vs 2000)")
.render()
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.
Learn more