This is an implementation of Ann K. Emery’s technique of placings labels directly on top of a line in D3 4.0 Alpha.
This is a multi series line chart in that the data is first transformed into separate arrays for each series. (The series names are dynamic and automatically derived from the columns in the TSV file, using [dsv.parse]. A label is rendered for each point in the time series. Beneath this label, a white rectangle is added, whose size and position is computed automatically using element.getBBox plus a little bit more padding.
https://d3js.org/d3.v4.0.0-alpha.9.min.js