Essentially I want something like this: distribution by product attributes

Here the various distributions are not related (although they appear so by the colours and this is the problem):

  • CPU Brand is: Intel, AMD;
  • GPU Brand is: Nvidia, AMD;
  • RAM size is: 8GB, 16GB, 32GB;

This visualisation is suboptimal because of these problems:

  1. The colors of the various attributes are not and should not be visually interconnected (as they are not related distributions)
  2. It's a bit pointless to have the X axis, as all the bars sum to the same value (we already know that). We are more interested in the distribution within each bar, instead of having a "shared scale", as it's the same.

So what would be the correct chart type for such a thing?

  • 1
    $\begingroup$ Can you say more about what the data are? What does blue, etc, stand for in the figure? What about the w/i bar distribution do you want to learn? What would it mean if it were 1 pattern vs another? $\endgroup$ Dec 9, 2019 at 16:07
  • 1
    $\begingroup$ What are these? What is an "offer", eg? I'm still at a loss here. $\endgroup$ Dec 9, 2019 at 16:12
  • 1
    $\begingroup$ I am developing software that visualises offers and this is analysis of a market segment. $\endgroup$
    – loxs
    Dec 9, 2019 at 16:16
  • 1
    $\begingroup$ There are almost always many ways to display a set of data. Which one is 'right' depends on what the data are & what question you want to ask of them. $\endgroup$ Dec 9, 2019 at 16:17
  • 1
    $\begingroup$ I don't understand the title: where are the different distributions of the same thing?? $\endgroup$
    – whuber
    Jan 12 at 13:31

1 Answer 1


I'd agree with gung in the comment section: it entirely depends on what you want to show/see, and for what reason.

But you explicitly state that the distributions are unrelated, which should mean you're not interested in comparing the variables CPU/GPU/RAM directly.

For this purpose, you could improve the separation between barplots. In addition, if you drop the stacked bar format for unstacked bars, it will make comparisons easier within each variable CPU/GPU/RAM, instead of focusing on comparison between variables. It also solves your color problem, making it much easier to show the names of categories composing each variable. So you could use something like that (this is a quick-and-dirty example, with room for improvement):

Three separated barplots, showing the specific distributions among the CPU, GPU, and RAM variables.

If you want to play down comparisons between the variables CPU/GPU/RAM, you could put these three barplots vertically rather than horizontally. In the grand scheme of things, you don't even have to show these three barplots together, if you don't want people to compare them (e.g. in paper format, they could be separated by some text, and even be put on different pages; if it is online or in some software, you may require users to click different buttons or checkboxes to access each variable).

Obviously the drawback of these solutions (vertical alignment, additional clicking, etc.) is that it may be much less convenient for readers. So choosing a correct level of separation between the barplots largely depends on the context and possible constraints.

  • $\begingroup$ (+1) On a side note, I personally hate stacked bar plots. They tend to confuse more people than they inform. $\endgroup$ Jan 12 at 15:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.