Revision
The following points were raised by the reviewers:
-
- The abstract appears to be in 3 paragraphs, which is a bit odd. - I'd leave that as is
-
- The "Introduction", "Development", "Usage" and "Comparison" sections all appear to have the same heading level. Is that intentional? - they are declared differently
-
- The 3rd paragraph of the "Introduction" section is describing implementation details of the package that seem like they're more appropriate for the "Implementation and Architecture" section. -
- ! The description of backends, their relationship to the core Plots.jl package, and how (if at all) they are co-developed could use a bit more flushing out. Eg. What do backends do (I assume they do the actual drawing of object primitives)? Is the link from Plots.jl to backends defined in Plots.jl, or in the backends, etc. -
- Paragraphs don't have indentations, though this may be a quirk of the LaTeX template -
- There are a number of copy-editing issues (eg commas missing or in the wrong part of the sentence). I didn't take the time to note them all, but having someone else read through with attention to this kind of detail would be valuable. -
- I would highly recommend a thorough readability pass over the paper, with attention to ensuring sentences flow together well, and errors are caught, and clarity is high. -
- ! The Introduction seems to only cover a subset of what the paper will be covering. For instance, the Abstract discusses as a goal having a unified plotting interface, but the Introduction focuses only on structuring dependencies to reduce loading time. -
- Showing examples of using StatsPlots is likely to confuse. Showing the @df macro and StatsPlots is useful, but perhaps separated from basic Plots itself. -
- Unclear what the "surrounding context" means for display "in an interactive session". Also refers to benefits of delayed rendering right after saying the plot is automatically rendered. (Perhaps the sentence order should be swapped and the delay noted earlier). -
- A problem for a package this size and flexibility is that there are inevitably going to be holes in the test framework. Might be worth noting this, and that test coverage is being expanded. -
- Ensure figures are discussed in text; "magic arguments" appears in Figure 2 but nowhere in the text outside one example. -
- Successive sentences in the first paragraph of the Introduction all starting with "this", especially without further specification of what is being referred to. -
- "Julia" is often written in lowercase. -
- The One-function API description could use some clarity. I'm not sure what a "tightly unified" syntax is in this context, or how a single function reduces the need to consult the documentation; looking up attributes is something I do a lot when I have used Plots.jl. A stronger point there might be the redundancy of names that allow people to guess and be right more often. -
- It might be worth noting that the Julia Pkg manager makes handling the long list of dependencies relatively easy. -
- I think the paper would have benefitted from discussing some of the limitations of Plots (e.g. is there any lowest common denominator effect from multiple backends?), and areas of ongoing and future development.
Edited by Simon Christ