Skip to content

Derived tip when grouping primitive values shows the wrong value #1657

Closed
@mbostock

Description

@mbostock

Ref. https://observablehq.com/d/42b72061ec8200e4

Screen.Recording.2023-05-30.at.11.59.56.AM.mov

It appears to have something to do with the default identity title.

Plot.plot({
  height: 80,
  x: {type: "band"},
  marks: [
    Plot.barY(chars, Plot.groupX({y: "count"}, {x: (d) => d, tip: true}))
  ]
})

If you change the definition to avoid this behavior, the tip shows the correct value:

Plot.plot({
  height: 80,
  x: {type: "band"},
  marks: [
    Plot.barY(chars.map((d) => ({char: d})), Plot.groupX({y: "count"}, {x: "char", tip: true}))
  ]
})

This feels related to the discussion we were having in #1649 on channel values supplied as arrays of values, and transforms breaking that association. I’m guessing that the isTextual heuristic is wrong here (related #1646): the heuristic is being applied to the mark’s raw data, but that data is subsequently transformed (by the group transform), and so maybe the heuristic shouldn’t apply?

Metadata

Metadata

Assignees

Labels

bugSomething isn’t working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions