g2({
type: "view",
width: 1000,
...(country !== "哈马斯" && { scale: { y: { nice: true } } }),
axis: { y: { title: "伤亡人数" }, x: { title: "日期" } },
legend: {
color: {
labelFormatter: (d) => {
const labelByValue = {
israelDeath: "以色列死亡人数",
hamasDeath: "哈马斯死亡人数",
israeInjured: "以色列受伤人数",
hamasInjured: "哈马斯受伤人数"
};
return labelByValue[d];
}
}
},
children: [
{
type: "interval",
data: {
value: data,
transform: [
{
type: "fold",
fields:
country === "全部"
? ["israelDeath", "hamasDeath", "israeInjured", "hamasInjured"]
: country === "以色列"
? ["israelDeath", "israeInjured"]
: ["hamasDeath", "hamasInjured"],
key: "type",
value: "value"
}
]
},
encode: {
x: "date",
y: "value",
color: "type"
},
transform: [{ type: "dodgeX" }]
},
{
type: "line",
data,
encode: {
x: "date",
y: (d) =>
country === "全部"
? d.hamasDeath + d.hamasInjured + d.israelDeath + d.israeInjured
: country === "以色列"
? d.israelDeath + d.israeInjured
: d.hamasDeath + d.hamasInjured
},
style: { stroke: "black" },
tooltip: false
}
]
})