chart = {
let idbanks = ["010536463", "010536465"]
const url = "https://api.insee.fr/series/BDM/V1/data/SERIES_BDM/" + idbanks.join("%2B")
let xml_string = await fetch(url, fetch_options).then( response => response.text() )
let xml_doc = (new DOMParser).parseFromString(xml_string, "application/xml")
let xml_nodelist = d3.hierarchy(xml_doc).descendants()
let dt = xml_nodelist
.filter(d => d.data.tagName == "Obs")
.map(d => { return {TIME_PERIOD: d.data.getAttribute("TIME_PERIOD"),
OBS_VALUE: +d.data.getAttribute("OBS_VALUE"),
TITLE: d.parent.data.getAttribute("TITLE_FR")} })
return vl.markLine({interpolate:'cardinal'})
.encode(
vl.x().fieldT('TIME_PERIOD').title(null),
vl.y().fieldQ('OBS_VALUE').title(null).scale({zero: false}),
vl.color().fieldN('TITLE').legend({orient:'top', symbolStrokeWidth: 3, symbolSize: 400,
labelFontSize: 11, title: null, labelLimit: 300}),
vl.tooltip([vl.tooltip().fieldT('TIME_PERIOD').title('période ').format('%Y'),
vl.tooltip().fieldQ('OBS_VALUE').format(',').title('valeur ')])
)
.data(dt)
.title({anchor:'middle', text: "Mon 1er graphique connecté à l'API web BDM",
subtitle: 'Source : Insee BDM' })
.width("container")
.height(250)
.render({renderer: 'svg'})
}