Bivariate histogram matrices give me intuition which categorical variables are related to one another. For example:

enter image description here

I can easily see which variables are related to one another. Indeed, this graphical device isn't brought up as much as scatter plot matrices. Why not? One point of scatter plot matrices is to infer linear correlations between variables in our dataset.

Scatter plot matrices are only useful for continuous variables. So - bivariate histogram matrices seem to be the best bet for categorical variables.

Are there any disadvantages to this approach? Or do you folks use a different technique for visualizing associations between categorical variables?

  • 1
    $\begingroup$ I can't see that you are plotting categorical variables here at all. You have three measured variables each divided into 10 bin histograms on the diagonal and heat-maps in off-diagonal cells. Either way, one answer is that this example doesn't encourage me to look at any more, as I don't know how to interpret what I see and most patterns appear random blurs. Can it be that solid black at bottom left and top right encodes low frequencies? It is hard to comment on the merits of a design from one very unconvincing example. $\endgroup$
    – Nick Cox
    Mar 23, 2016 at 16:14
  • $\begingroup$ Scatter plot matrices can be very useful for many non-continuous variables, including binary and counted variables, even ordinally coded variables. There is no assumption of continuity. $\endgroup$
    – Nick Cox
    Mar 23, 2016 at 16:17
  • $\begingroup$ What about for nominal variables? Say that I had 10 nominal varaibles and wanted to find which were correlated with each other? This would work well. $\endgroup$
    – user46925
    Mar 23, 2016 at 16:21
  • $\begingroup$ With nominal variables you could use a scatter plot to see which cross-combinations occur, but there are much better plots. I don't know what kind of "correlation" you have in mind for nominal variables; perhaps you mean some more general kind of association. $\endgroup$
    – Nick Cox
    Mar 23, 2016 at 16:23
  • $\begingroup$ Scatter plots are typically used with ordered variables - I don't think it would work well with nomial variables $\endgroup$
    – user46925
    Mar 23, 2016 at 16:29

1 Answer 1


The reasons that come to my mind:

  • Such plots are unreadable for color-blind people.
  • There are multiple different color palettes used for plotting -- it is not always instantly obvious what colors indicate "high" and what colors indicate "low" values. Moreover, my experience suggests it is very subjective what palettes are "intuitive" for different people.
  • If you plot multiple such plots on a single page they easily become totally unreadable, while with scatter plots at least some amount of readability is preserved (example below).

enter image description here

  • It is much more complicated to choose appropriate color palette and appropriate scaling for numbers-to-colors mapping (so not to end up with unreadable blob) -- often it needs multiple tries until finding the right scaling.
  • Choosing sizes of the bins is even more crucial than in simple histograms, because you can easily end up with colorful "white noise" for small bins, or just a few big rectangles that resemble rather abstract art, than say anything about your data.
  • If you want to publish it, often you need to provide the plots in black-and-white, or grayscale, so such plots can be risky. If you didn't know about such editorial policy, you could easily end up with an almost-uniformly gray rectangle instead of your beautiful, colorful plot.
  • Plot that looks good on your screen, does not have to look good on another monitor, with different settings.
  • There is limited number of colors that we can distinguish, so only a limited variability of data can be appropriately visualized. This is nicely illustrated on the picture from medium.com site:

enter image description here


Your Answer

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