# Approaches to visualize difference of two raters from ground-truth

I have a dataset of 80 samples, with each containing two measurements on a 0-10 ordinal scale (Rating_1 and Rating_2) as well as their true values on the same scale (Rating_True). I'm now looking for a way to visualize the deviation of each rater from the truth, allowing me to judge if raters tend to over- or underestimate the value.

Example dataset in R:

df <- structure(list(ID = 1:20,
Rating_1 = c(9,8,6,9,8,6,7,3,9,4,5,5,0,1,6,3,2,1,0,7),
Rating_2 = c(7,10,10,10,10,8,5,9,7,6,8,6,3,4,7,2,0,3,1,2),
Rating_True = c(10,10,9,9,8,8,7,7,6,6,5,5,4,4,3,3,2,2,1,0)),
class = "data.frame", row.names = c(NA,
-20L))


I was thinking about Bland-Altman plots, comparing the mean deviation of each of the two raters to the truth separately (example below). Another option would be comparing BoxPlots of both raters for each level of the scale (example below). Would you judge one of the approaches (or a unmentioned third approach) superior? If so, why? Could you point me to additional resources for finding a good approach?

Thanks a lot!

• Can you post a small, example dataset for people to work with? It doesn't have to be your full dataset n=20 might be fine, & you could post fake data, if you prefer. May 6, 2021 at 14:04
• Do you want to compare these two raters to each other, or get a sense of how raters perform in general? May 6, 2021 at 14:06
• You say the data are ordinal, are you assuming the values are approximately equal interval (ie, can be treated as roughly continuous)? May 6, 2021 at 14:07
• Thanks for your comment! I posted an example dataset for R in the edited question, hope that helps. Rater comparison as well as rater performance would be of interest, but the second (rater performance vs. truth) is the focus. Yes, intervals can be treated as equal. May 6, 2021 at 15:32
• Similarity of distribution does not imply similarity of values: it is easy to think of examples that disagree strongly but have identical distributions. Box plots don't work well with data like this where ties are very common. May 6, 2021 at 15:59

One approach is a scatter plot matrix with jittering of points given over-plotting of identical values. Refinements might include, depending partly on taste:

1. Bubble plots, where bubble size encodes frequency.

2. Hinton- or Bertin-type twoway bar charts, where bar height encodes frequency.

In this case visual patterns can be supported by measures of agreement (not correlation) such as Lin's concordance correlation:

Rating_1 Rating_2       0.633
Rating_1 Rating_True    0.630
Rating_2 Rating_True    0.839

• Thank you for your reply! The scatter plot matrix seems promising, would you mind sharing the R function (if used) that you used to create these? Also thanks for showing the weakness of BoxPlots for this application. May 6, 2021 at 16:58
• Nevermind, a short google gave the answer :) I also try out the other visualizations you mentioned. May 6, 2021 at 17:07
• I used Stata but the R code for this should not be esoteric. May 6, 2021 at 17:15