Kibana version: 6.1.1
Elasticsearch version: 6.1.1
Server OS version: Ubuntu 16.04.3 LTS
Browser version: Vivaldi 1.14.1077.41 (Stable channel) (64-bit)
Browser OS version: Linux
Original install method (e.g. download page, yum, from source, etc.): Docker pull
Description of the problem including expected versus actual behavior:
A slice in a pie chart is missing a label, but both of its neighbours have a label so I don't understand why it is missing a label.
Steps to reproduce:
This is a little odd looking. Once slice did not get a label when the slice to the "left" and the slice to the "right" _did_ get labels. The attached screenshot shows this problem.
Everything smaller than the "CFNetwork" slice did not get a label and I'm fine with that if Kibana considers them too small to label, but why did that slice _between_ "CFNetwork" and "Wget" fail to get labelled? I would expect that _all_ slices bigger than some cut-off should be labelled.
I can reproduce this. However, I have to ask, is this desired behavior? Especially where a pie chart contains many slices? Personally, from a product management POV, I don't know if I want every label showing on a pie with several slices. I think I might at least want that option versus it being an arbitrary selection? But then we're not dealing with a bug, but a feature request here.
Take for example my repro steps below. Do I really want all the slices of the pie labeled? There is enough labels to give me a relevant size that I can then visually look at other slices not labeled and say "_I think that's approximately a 2 ... which with this busy chart is enough to make me click on it out of curiosity to see what is between wGet and CFNetwork_ ."
Put another way, if I want that fine grained detail on a busy chart, perhaps a pie chart isn't the best visualization? Or at least surface the value the slice represents through displaying the legend?
Here are my repro steps below, y'all can decide.
I agree that having every label show _could_ make the chart harder to read. I think that if labels are going to be omitted, there should be some sort of consistency. Arbitrarily skipping a slice in a range does not seem like the best way to me. If the pie has 10 slices and it is determined (somehow!) that only 6 can be rendered, I'd like to see the first 6 _consecutive_ slices labelled, to avoid this slice-skipping.
My screenshot was from a 10-slice pie with only one level of grouping - I don't think labelling every slice would have made it too busy/messy, in this case. Or at the very least, label the gold-ish slice instead of that purple-ish one to the right, and also skip all the ones smaller than it.
Maybe there should be a feature to let users choose one of:
cc @monfera just for awareness, since you're working on the Elastic charts pie chart atm. This also look like it would be fixed once we switch over to elastic-charts for pie charts.
The new pie chart, under development and integration, plans to have these:
Of course, very numerous and/or long labels are going to overflow beyond the visible rectangle that contains the pie/donut/sunburst. Still, there's no current plan for an unlimited count of labels. Also, at least in the first iteration, it won't be an optimizing layout, but we may at some point add a rule "use up labels for the largest N sectors, but then carry on if there's leftover space for more"
I'll post here an example soon.
Here's the example for the above, showing allocation of links (inherently limited) according to their size, no matter where they are on the ring. It also shows text fill where it fits, or where linked text would cause problems (inner circle).
The "new" pie visualization which will enhance chart labelling is being developed on https://github.com/elastic/elastic-charts/issues/84.
Most helpful comment
I agree that having every label show _could_ make the chart harder to read. I think that if labels are going to be omitted, there should be some sort of consistency. Arbitrarily skipping a slice in a range does not seem like the best way to me. If the pie has 10 slices and it is determined (somehow!) that only 6 can be rendered, I'd like to see the first 6 _consecutive_ slices labelled, to avoid this slice-skipping.
My screenshot was from a 10-slice pie with only one level of grouping - I don't think labelling every slice would have made it too busy/messy, in this case. Or at the very least, label the gold-ish slice instead of that purple-ish one to the right, and also skip all the ones smaller than it.
Maybe there should be a feature to let users choose one of: