No docs for figure attributes in Makie

Hi, guys.
I have decided to give Makie.jl a try and prepare the plots for my paper in it.

Unfortunately, I got stuck at the very beginning.
Skimming over docs, I noticed that there is no list of the figure attributes which are available for adjustment. The docs only mention the resolution attribute, which is quite misleading.

  • If I use CairoMakie.jl backend to produce high-quality vector plots, what does resolution specify? Surely, it can’t be the resolution of the figure in this case, right (cause it is vector graphics)?
  • How do I set up the size of the figure? Can I do that not only in points, but also in inches, cantimeters, etc.?
  • Is there somewhere a full list of Figure attributes? May be I missed it.

Check this post out for the second question.

It is certainly a solution to my second point. On the other hand, I do not think that it is good that the users of Makie have to think about such details.
It looks quite easy to add a thin abstraction layer for the physical units and have Makie automatically do the conversion to points or pixels depending on the output format.

What do you think about this idea?

3 Likes

Cairo uses pt as its internal metric, so with 1in == 72pt you can calculate any size you want. If you have a good idea for an implementation to make this easier, we always appreciate PRs. Both Simon and I don’t have much time currently.

Were you looking for http://makie.juliaplots.org/stable/generated/plot-attributes.html?

The page you referenced lists the attributes of a plot object. The Axis attributes are listed here. But I did not find the attributes of Figure anywhere. Guess I will have to resort to fieldnames to figure it out. Unfortunately, it may be hard to understand what the attribute names mean without an explanation.

Still not sure what exactly are you asking for, but for Figure, we have backgroundcolor , resolution , font and fontsize and the figure_padding, that I know of. And you can see how to use them here. https://juliadatascience.io/attributes.html (Makie in a nutshell, this chapter is still WIP).

2 Likes

I agree with @Gregstrq that the documentation should show the possible attributes that can be passed to the Figure() constructor that are not plot or axis attributes. I tried finding it but didn’t succeed. Maybe all of those for the underlying scene

    scene_attributes = (
        :backgroundcolor,
        :resolution,
        :show_axis,
        :show_legend,
        :scale_plot,
        :center,
        :axis,
        :axis2d,
        :axis3d,
        :legend,
        :camera,
        :limits,
        :padding,
        :raw,
        :SSAO
    ))

plus all of those related to theming plots and layoutables?

1 Like

It would be really nice to have this information available in Makie.jl docs. No offense, but it is really counterintuitive to seek the information about Makie.jl in the docs of different github organization.

2 Likes

It’s a book. So is a different approach. Although, this information comes from the documentation. And, there is plenty of ways to find information nowadays. Home and from there there is also a link to more examples https://lazarusa.github.io/BeautifulMakie/

1 Like

Ok, sorry. I might have sounded a bit irritated. Thank you for giving the links.

I wanted to point out the issue with documentation of Makie.jl itself. The list of the attributes for Figures should be somewhere in the documentation, because it is a logical place to look for such information.

I have looked through the documentation an did not find such a list there. Of course, it is possible that I simply missed it. As such, could you point me to a specific place in the official Makie.jl documentation, where this list is provided?

1 Like

It is really strange that there are lists of attributes for Axis and othe types but no Figure’s. I’d also like a list of attributes for Figure.

1 Like

Since I am not the only one, who was not able to find the list of attributes for a figure, I have created an issue.

1 Like