addAnnotations = function() {
const annotations = [{
id : data2[0].title,
note : {
label : data2[0].contents,
title : data2[0].title
},
x: x(data2[0].date) + x.bandwidth(),
y: y(data.filter(d => data2[0].date < d.date)[0].open),
dx : -100,
dy : 0,
subject: {
radius: 15,
radiusPadding: 0
},
type: d3_annotation.annotationCalloutCircle
}, {
id : data2[1].title,
note : {
label : data2[1].contents,
title : data2[1].title
},
x: x(data2[1].date) + x.bandwidth(),
y: y(data.filter(d => data2[1].date < d.date)[0].open),
dx : -100,
dy : -180,
subject: {
radius: 15,
radiusPadding: 0
},
type: d3_annotation.annotationCalloutCircle
}, {
id : data2[2].title,
note : {
label : data2[2].contents,
title : data2[2].title
},
x: x(data2[2].date) + x.bandwidth(),
y: y(data.filter(d => data2[2].date < d.date)[0].open),
dx : -100,
dy : -75,
subject: {
radius: 15,
radiusPadding: 0
},
type: d3_annotation.annotationCalloutCircle
}, {
id : data2[3].title,
note : {
label : data2[3].contents,
title : data2[3].title
},
x: x(data2[3].date) + x.bandwidth(),
y: y(data.filter(d => data2[3].date < d.date)[0].open),
dx : -160,
dy : -55,
subject: {
radius: 15,
radiusPadding: 0
},
type: d3_annotation.annotationCalloutCircle
},
].map(function(d) {
d.color = "#E8336D";
return d;
});
chart;
const makeAnnotations = d3_annotation
.annotation()
.type(d3_annotation.annotationLabel)
.annotations(annotations);
const annotate = d3.select(chart)
.append("g")
.attr("class", "annotation-group")
.call(makeAnnotations);
return annotate;
}