-1

Introduction

I have a question about figure creation, mostly in the context of numerical work in math and physics, but I don't think that the discipline is that relevant for my purpose. I make plots in Julia mainly using the Plots package, regardless of specifics, my question is:

Are there some standardized (or suggested) workflows for creating figures for publication if many subplots are needed?

I have one that I use, but I think it could be improved as it is a bit uncomfortable for some aspects. Here are workflows that I have considered:

Possibilities

Data notebook -> Minimal Plot notebook -> Graphic design software

In this workflow, I start creating the data I want to plot in a notebook (Jupyter or other), and then store it on my computer. Then, I create very stripped down figures with no legend or axis title that I then store as .svg. Finally, I assemble all of these figures in Inkscape (or other graphic design software). I am unsure if there are clear advantages when it comes to using different individual scripts for different figures as opposed to a single notebook?

Pros:

  • Allows me to make modification to the data alone, and I can update the "raw" figures, which I can then reference in Inkscape so they update automatically, when I make changes.
  • Allows me to do fine tune changes, especially when making cartoons, arrows and such.
  • Can work in .svg format or anything else, exportation is very flexible.

Cons:

  • Final .svg exportation requires me to manually put back all the figures in .svg, since I cannot do this by reference.
  • Resizing process is tedious. Need to rescale figures in Inkscape after resizing in the code. Many back and forth process are necessary to get desired behavior.
  • Alignment of figures is done by hand (with the help of the grid). Because of the axis graduation, it's essentially impossible to automate the alignment completely to the grid, so lots of fine-tuning to do that is very tedious.
  • It's sometimes not always possible to automate all parameters in the figures, such as font-sizes. A lot of styling has to be done manually and is, again, tedious.

Data Notebook -> Final plots

I would make all of my data in a notebook, and export to my computer. Then I would assemble all of these figures using plotting packages and export to final form.

Pros:

  • Systematic alignment of plots.
  • Resizing is easy.
  • Simply run with any new modifications without worrying about having to change anything by hand.
  • Styling is automated.

Cons:

  • Putting in some little arrows and other annotation can be tedious (at least with the packages that I have been using).
  • Some plotting packages have limited functionalities. The GR backend, in Julia, for instance, does not support certain very fine detail functionalities.

Data Notebook -> LaTeX Plotting

I would generate the raw data to be plotted in a notebook. Then, I would assemble it using LaTeX plotting tools. I know very little about this, but I've heard that it is possible

Pros

  • ?? My knowledge about it is very limited, but it sounds it would do pretty much everything I want it to do.

Cons

  • ?? Steep learning curve

Conclusion

I am trying to optimize my workflow for figure creation. I have considered a coupled of main workflow, but would be interested in hearing if there are some standardized ways of doing things.

Furthermore, I have stumbled on this post, which was closed down (I am not sure I fully understand why). As well as this post. Both ask questions pertaining to the workflow of figure creation.

Thank you for any help!

(EDIT: If this is not the right place to post this question, please let me know. However, I do not know what other substack I should direct it to...)

0

Browse other questions tagged .