Skip to content

Support for faceted charts (small multiples) #500

@wylieconlon

Description

@wylieconlon

Faceting is particularly useful when displaying more than 3 dimensions of data in the same space. I have looked into doing faceting by creating multiple instances of <Chart>, but there are coordination issues when doing so. In particular:

  1. The legend renders a different width for each chart
  2. The user needs to manually calculate the domain of the data to render consistent Y values
  3. Color-coding that is normally automatic now needs to be manual
  4. Coordination is needed to highlight the same X axis across each chart

So I'd like to request that there is basic support for faceting in the chart library. I'm not sure whether this is possible, but I imagine there might be an API that specifies the facet dimension for a particular series of data. This API is mirroring how Vega-lite does it:

<Chart>
  <BarSeries data={} xAccessor={'Date'} facet={'Source'} />
</Chart>

Given a dataset with 4 columns, such as this one, I would want to render 3 rows of charts, each one showing the Date on the X axis and multiple series on the Y axis.

Source	Dest	Date		Sum
CN	IN	12/4/2019	48184
CN	IN	12/5/2019	269911
CN	IN	12/6/2019	600431
CN	CN	12/5/2019	163901
CN	CN	12/6/2019	404610
CN	CN	12/7/2019	16999
CN	US	12/5/2019	259137
CN	US	12/6/2019	151745
IN	CN	12/4/2019	31050
IN	CN	12/5/2019	440471
IN	CN	12/6/2019	451644
IN	CN	12/7/2019	59461
IN	IN	12/5/2019	336784
IN	IN	12/6/2019	337537
IN	US	12/4/2019	23734
IN	US	12/5/2019	139371
IN	US	12/6/2019	58982
IN	US	12/7/2019	60394
US	IN	12/5/2019	186557
US	IN	12/6/2019	319096
US	IN	12/7/2019	3961
US	CN	12/5/2019	96956
US	CN	12/6/2019	171835
US	ID	12/5/2019	171537
US	ID	12/6/2019	20488

Kibana Cross Issues
There is not an issue for this yet.

Checklist

  • this request is checked against already exist requests
  • [ ] every related Kibana issue is listed under Kibana Cross Issues list
  • [ ] kibana cross issue tag is associated to the issue if any kibana cross issue is present

Metadata

Metadata

Labels

:dataData/series/scales related issueenhancementNew feature or requestreleasedIssue released publicly

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions