If you’re interested, I recommend reading Semiology of Graphics. Here’s how Bertin describes these three different types of graphical marks (“significations”):
> A POINT represents a location on the plane that has no theoretical length or area. This signification is independent of the size and character of the mark which renders it visible.
> A LINE signifies a phenomenon on the plane which has measurable length but no area. This signification is independent of the width and characteristics of the mark which renders it visible.
> AN AREA signifies something on the plane that has a measurable size. This signification applies to the entire area covered by the visible mark.
Bertin’s framework describes how abstract information can be encoded in the appearance of marks (shapes) in a way that generalizes to any possible visualization. That, in a nutsell, is what this figure attempts to convey: the concept of mapping abstract dimensions of data (such as the count and name of fruit) to visual variables of graphical marks (such as the position and length of bars) to allow viewers to interpret relationships in the data using only their eyes.
Can you do something like this with JSX instead of hypertext literal?
${d3.select(svg`<g transform="translate(0,${margin.top})">`)
.call(d3.axisTop(x))
.call(g => g.select(".domain").remove())
.node()}
Especially the inline select expression.