6

I am in the process of publishing my first paper in geosciences. I have developed a model for the paper and now I want to create 8 figures. However, already I've been working on it for 2-3 weeks (for 4 figures) and can't get anything else done. How much time should I spend on the figures and what do you do to speed up the process? Furthermore, I am still at the lowest level of the "science hierarchy" and unfortunately cannot delegate the tasks to others.

I realise that there is no absolute answer, but when is it too much?

Weiss
  • 187
  • 5
  • 10
    It's hard to give an answer without knowing the relevant details. Figures can be very essential and improving them can make a big difference, but in other cases it is acceptable if there are some imperfections, or they could be replaced by other figures that are much easier to do. Also nobody here knows why you spend so much time, i.e., whether what you would want to achieve can be achieved much faster/easier. You better ask somebody who has experience with your type of figures and your type of publication in the same field. – Christian Hennig Dec 06 '23 at 10:23
  • What are you using to create the figures? What step is taking you the most time? –  Dec 06 '23 at 11:00
  • 1
    I have to commit that my code is quite bulky and not very efficent, so it takes around 8 Hours to create one map using this code after that I work with Inkscape – Weiss Dec 06 '23 at 11:03
  • 1
    @Weiss do you mean that 1) the code takes 8h to run (but you can do other things in the meantime) or 2) you have to rewrite some code for each new figure and that takes 8h? –  Dec 06 '23 at 11:05
  • I sadly mean Nr 1) .... I have no one to ask cause I used Python and my sorrounding is using R so they cann´t help me (I wrote the code before I meet my working group) – Weiss Dec 06 '23 at 11:15
  • 3
    @Weiss okay - would it be possible for you to save the output of these 8h of code to a file so you can just instantly load it and plot the figure in a separate code? That way you can tweak the figure parameters easily without having to rerun the entire code. –  Dec 06 '23 at 11:33
  • 1
    PS: if you want help on optimizing your Python code, you could ask about it on https://stackoverflow.com/ –  Dec 06 '23 at 11:42
  • 9
    If you are re-running your analyses (each run taking 8 hours and ending with a figure), then you are not "just spending time on illustrations". You are running different analyses. That is a different question. Multiple weeks just for figures does sound excessive, but investing multiple weeks in running different analyses sounds much more reasonable. – Stephan Kolassa Dec 06 '23 at 12:20
  • 3
    In the 8 hours of computation there must be some step that can be re-used. Address them, save the numpy array to a file (there is a function), if you work with dictionaries save them as json (please note that when you reload them the keys will be always string). And of course, get used to have a profiler like numba, you may discover that a single cycle/function is what make you tremendously slow (for example, doing a sqrt with native function instead of numpy function may slow you down of a factor 1000 ....) – EarlGrey Dec 06 '23 at 12:42
  • 1
    I typically avoid all postprocessing (e.g. InkScape). If your figure creation process is fully automated, you can stop optimizing your Figures whenever you see fit. And you don't have to repeat a single line of code. You can delegate: to your computer. – Joooeey Dec 07 '23 at 11:32

3 Answers3

12

Time is not a very good measure of how much effort is needed. You must make the meaning of your paper understandable by others; if your figures are not understandable, you must continue to put in more time until you can achieve this. Some aspects of figures are absolutely critical yet take very little time to make acceptable. An expert may take less time than a novice, that doesn't mean they can each stop working after the same amount of time, it just means the expert can produce more. This is true of almost every task.

Strategically, it may be worth improving figures to the point that they not only communicate the message but also communicate competence or expertise. This is very difficult to measure, and I'd say impossible to put any number on. I think the best measure is to ask some colleagues you trust for their honest opinion of what impression your figures make.

From the comments, it sounds like your problem is not about the time and effort placed in figures, but rather the computational efficiency of your code. This is an entirely separate problem, and I'd recommend getting advice with your code from someone who understands both programming and your field. It's of course also possible that the inefficiency is inherent in your algorithm and unavoidable without some grand technological breakthrough. In that case, you may be able to speed things up with different hardware but ultimately if you're limited by your algorithm that's just where you are. Improving the speed may be worth a separate paper.

Bryan Krause
  • 114,149
  • 27
  • 331
  • 420
9

Thanks for putting "numbers" in what people often overlook!

For the first figures you prepare in your career it is necessary to spend an enormous amount of time, unfortunately.

The good aspect is that you will reuse these figures, hopefully, not only for scientific communications but also for proposals, grants requests, abstracts, etc. etc.

The time you spent was well spent if it was spent in building automated way to prepare the figures, badly spent if you spent it by fine tuning the single figures with paint.

And if you were constantly re-running analysis/models to prepare the figures... ugly, but sometimes necessary.

The only useful technique to save time, with nowadays available tools and in the long-run, it is to save the figures in vectorial formats, so they can be modified with Inkscape and similar tools on the fly. Otherwise, you may have a nice bitmap that is practically impossible to modify in a decent way.

Anyon
  • 26,132
  • 8
  • 87
  • 116
EarlGrey
  • 17,959
  • 2
  • 28
  • 79
2

Your figures are very important to the communication of your results (I imagine this is especially true in geoscience). Your figures should maximize the amount of data communication while minimizing noise or aspects that are not quintessential to the point the figure is meant to communicate. In my field, figures are very important to this end too (in econometrics), and I spend lots and lots of time making my tables and figures such that they do the goal I've outlined. And if I'm honest, it's an iterative process: you'll spend some time, but after you've submitted it, you'll wish you'd spent just a little more time. So without giving an exact number, a lot of time. Best you can do is automate it with good coding practices.

Jared Greathouse
  • 1,967
  • 1
  • 12