Not sure if this is the right place to post this type of question. Please let me know if not and if you have suggestions for where this might be a better fit.

I am creating a figure which represents four data points over time for each analysis.

Each analysis has four variables: scenario, μ, ME and EEA. The first has 3 values and the rest have 2.

I am looking for advice to nicely present this data in a way that makes sense. I currently have the scenarios determine color as it is important to be able to compare between analyses of the same scenario, and then plot the result on a row for each analysis, so 8 rows total.

Suggestions appreciated. I am using seaborn to plot.

enter image description here

  • I honestly don't understand what you are asking for here. If it's an "idea" or "concept" on how to display something, be aware that "idea farming" is off topic.
    – Scott
    Nov 16, 2022 at 5:17
  • I'd like advice on how to make this figure more easy to read and intuitive.
    – donkey
    Nov 16, 2022 at 5:18
  • Sorry. What is unclear and unintuitive about what you have?
    – Scott
    Nov 16, 2022 at 5:28

1 Answer 1


Disclaimer: I have no clue about the context. I used to be an exact scientist, so I can guess, and I have experience creating and giving feedback on images like these. I am also a designer first and a scientist second, and my opinion is that design in science is overly formulaic and old-fashioned. I am actively trying to get methods used in modern dataviz to catch on in the academic world. So my suggestions may be a bit daring.


First off, you have a big contrast issue going on. Both the colours you use for the different scenarios and the line types for the different analysis types, have too little contrast, especially when overlapping each other.

Colour-wise, I would try and find a red and a blue that contrast more. The tan is great, but the red and blue both have a very similar saturation and brightness / chroma, making it very difficult to differentiate them at a glance. Using a brighter blue or cyan would fix that issue.

As for the line types, especially the dashed lines are nigh impossible to tell apart. You might want to try using a different line type (dash-dot-dash-dot). Even better would be to let go of the different line types and use an on-plot annotation / call-out to describe the analysis method for that plot:

example plot with a call-out added over the plot area, naming the analysis method.

In the rare cases that a single graph combine different analysis methods, you can use a thin line to point the call-out to the right plot line. Or avoid them altogether, to make matters clearer.

Legend and labeling

Why is the legend repeating the different line / analysis types? There are eight analysis types in the legend, but I see no difference between set 1 through 4 and 5-8.

Also extremely confusing: why are there solid (vertical) lines in some of the plots? There is no analysis type for a solid line. What does this mean? Use a call-out pointing to the spike if it has meaning.

Something else first: you are repeating a lot of axis units and labels. As far as I can see, labels and axes are completely identical along columns, only differing among them. My suggestion would be to clearly label the first entry in each column with axis labels and units, and completely omit them from all other entries in the same column.

Give some more spacing between the different columns to set them apart. Give columns 2 and 4 a very subtle solid background rectangle, about 10~15% opacity, to emphasise the difference even better.

While we are making an 'explanatory' first entry in each column, we might as well go all the way and include the data of the legend completely in that first entry: Use call-outs in the appropriate colours to identify the plots for CB1, CB4 and CBIW. In this case, you might want to use the second entry form the left in the first row, for the top-leftmost entry will only confuse viewers.

example of how a first explanatory legend plot could look like. The original plot has been embellished with call-outs, clearly indicating their corresponding lines.

If you make sure you explain clearly what is going on in each top plot of each column, and indicate axis labels and units there clearly, you can do without a legend. This 'legend plot' functions as a legend itself. Viewers will extrapolate from there. Do realise that for this tactic to work, you need to have a clear indication that plots in the same column belong together. For example, the alternating background colours I proposed earlier.

Final axis remark: why is the time dimension on your x-axes not quantified? Is it different for every plot? It's really striking that this is absent, and it makes me feel you're trying to hide something there.


Finally, you squeeze an extreme amount of information into a very uneasy shape: an elongated rectangle. I'm not suggesting that you should change the proportions of your plots, but I am proposing a change of lay-out for the entire figure.

Rather than columns, you could try to create four boxes of eight plots each. In this case, it might be a good idea to make one 'legend plot', double it in size, and start with it on the left. Place the other regular-size plots to the right, again without axis labels and units. I didn't include the Analysis type labels in the small plots this example, but you should. Either in the same was as the legend plot, or as labels above them.

example of eight plots together, with the first enlarged and fully explained

Make sure that the different boxes are clearly cordoned off, preferably with either lines between them, or an alternating background colour again.

Do realise that this creates a strong correlation between the plots within each of the four groups, and sets the groups apart. Also, if there was any reason why you placed plots horizontally next to each other, that relationship is now lost.

  • Thank you for this thorough answer. Solid lines are due to overlapping lines. The time dimension was defined on the last tow only. Much of this is default seaborn behavior. Your plots are very nice and I like the callouts. The issue with executing this is that I need my plots to be able to be generated by code, doing this seems non-trivial though I will look into it. That alternate layout is a great idea too. I also had a version where I had the style of the lines be identical, and add the analysis title as a margin title at the end of each row.
    – donkey
    Nov 16, 2022 at 23:21
  • @donkey I see the point for the dashing as a way to have overlapping lines still be visible. Yet, in your plots, the dashings of different lines are exactly in phase, leaving gaps even when all 4 lines overlap. I think the multiply effect (colours adding together) that you have going on, is way better.
    – Vincent
    Nov 17, 2022 at 17:54

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.