Does Julia offer such a solution as well? BTW, I’m making these plots using the GMT.jl package.
As a Matlab person, I find it very interesting that the GMT.jl package does not use any kind of figure handle. Is this a Julia thing? Then how do you refer to a figure when you try to save it in an automatic fashion?
As for not having an explicit figure object, that’s not a Julia thing, at least not for the two most widely used plotting packages Plots and Makie. Both allow plotting with or without assigning the plot/figure object explicitly (in Plots it would be something like myplot = plot(x, y) and in Makie I believe it’s myfig, myaxis = plot(x, y))
I am relatively new to Julia. What I found is that the Julia Plotting World is very colorful and even packages like Gadfly and Makie that I understand are written fully in Julia are handling the same things slightly different. So in general, you have to familiarize yourself with each package and learn some of their intricacies. As a side not, you may also take a look at Plots.jl which is doing some kind of “integration” over various plotting backends, and is providing a common interface.
I do not know if GMT is better or worse to above mentioned packages, what I think is that it is handling things very different to Gadfly and Makie under the hood as I understand due to its C / C++ origin. As for PostScipt, some time ago, you could hardly go any better than using it in the professional printing world, however, this might have changed over the recent years. Even though, I guess PostScript might offer some advantages. Please see How to create layouts in Julia plotting packages? - #11 by joa-quim
An interesting alternative is to set FMT="" , that is to not specify any image format. This will result in NOT saving any file on disk but to keep the PS figure internally stored in the program’s memory. In other words, the figure is built and kept in memory only. This allows converting to another format directly without the use of an intermediary disk file.
The issue with this solution, that could be implemented internally without user intervention, is that it currently only works on Windows.
It’s fmt="" that only works on Windows. Isn’t that clear form the text?
However, it would be probably potentially extremally useful to have a concise, very short tutorial about the basic, most commonly used functions and workflows of the GMT.jl, on the GMT.jl welcome page, especially that the documentation is so extensive. This is of course written with a big smile.
Yes, I understand that. But I struggle to on the same time add more in depth documentation to many modules that are lacking them, more examples, etc.
Do you think porting the GMT tutorial to GMT.jl syntax would fill that gap?
Frankly, I was thinking about something simpler, like a “two-pager summary”.
Very basic things, opening the file (what are supported formats), making a plot (what are basic plot options), saving a figure (what are supporting output formats) and for example a basic semi-advanced topics like how to make a plot with use of more than one file, how to make a stack of two plots. It would be great to see the examples of corresponding code and output figures.
Something that would make an entry barrier for a new GMT.jl user lower and rally not longer than two pages. I think that is is always great to type a web page address of a new package and be able to do some basics after a short read. Later the user, can always get more knowledge about the package and do more advanced things after reading the full documentation.
Thanks for this suggestion. I’ll start wondering on the design of that in the betweens of my (but not only me) 4 disciplines this semester. But I’ll have to make tinny figures so that they all fit in those two pages
Just the basics. Two pager. I know THE GMT.JL is a specialized package, used predominantly by very well educated people, however, with full respect, there is usually, no need for consultations outside teaching hours.