{
const data = [
{ date: "07-08", uv: 870, rising: 0.58 },
{ date: "07-09", uv: 1680, rising: 0.64 },
{ date: "07-10", uv: 630, rising: 0.69 },
{ date: "07-11", uv: 1060, rising: 0.58, forecast: true },
{ date: "07-12", uv: 890, rising: 0.88, forecast: true }
];
return G2.render({
type: "view",
height: 333,
data,
children: [
{
type: "interval",
encode: {
x: "date",
y: "uv",
color: () => "uv"
},
scale: {
x: { paddingInner: 0.25, paddingOuter: 0.2 },
y: { domain: [0, 2500], nice: true, tickCount: 5 }
},
axis: {
y: { labelFormatter: "~s" },
x: {
labelFillOpacity: (item) => {
const datum = data.find((d) => d.date === item.label);
return datum?.forecast ? 0.2 : 1;
}
}
},
style: {
fillOpacity: (d) => (d.forecast ? 0.25 : 1)
}
},
{
type: G2PlotLine,
encode: {
x: "date",
y: "rising",
color: () => "rising"
},
labels: [
{ text: "rising", formatter: ".0%", textAlign: "center", dy: -8 }
],
scale: { y: { independent: true, domain: [0, 1] } },
axis: {
y: {
labelFormatter: ".0%",
position: "right",
tick: false,
grid: false,
size: 60,
title: false
}
},
style: {
lineWidth: 2,
point: true
}
}
]
});
}