I’m experimenting with Bin Transform and line graphs and have a dataset that looks like this:
data = [
{year: 2000, weight: 3, number: 3},
{year: 2000, weight: 7, number: 7},
{year: 2000, weight: 7, number: 4.3},
{year: 2000, weight: 8, number: 9},
{year: 2000, weight: 8, number: 9.1},
{year: 2000, weight: 9, number: 6},
{year: 2000, weight: 9, number: 6},
{year: 2000, weight: 10, number: 5.1},
{year: 2000, weight: 10, number: 8.24},
{year: 2000, weight: 11, number: 2},
{year: 2000, weight: 11, number: 1},
{year: 2001, weight: 3, number: 5},
{year: 2001, weight: 7, number: 7},
{year: 2001, weight: 7, number: 7},
{year: 2001, weight: 8, number: 7},
{year: 2001, weight: 8, number: 4},
{year: 2001, weight: 9, number: 2},
{year: 2001, weight: 9, number: 4},
{year: 2001, weight: 10, number: 3},
{year: 2001, weight: 10, number: 8},
{year: 2001, weight: 11, number: 9},
{year: 2001, weight: 11, number: 4},
{year: 2001, weight: 16, number: 7.5},
]
What I would like to create is a line graph with the x axis = weight, the y axis = number, and z is year, but I would like to get the average number when the weight is the same for the year. Is this possible with binX? This is what I have tried with little success.
Plot.plot({
width: 1000,
marks: [
Plot.lineY(
data,
Plot.binX({ y: "mean" }, { x: "weight", z: "year" })
)
]
})