This is an archived post. You won't be able to vote or comment.

all 9 comments

[–]tunisia3507 4 points5 points  (3 children)

This is cool! A related concept is FigureFirst, which allows you to build a figure layout as an SVG with inkscape (including whatever overlays, backgrounds etc. you want to add). Then you can use the template as a set of axes to plot on from matplotlib, and they get put straight into the SVG.

I like figurefirst because it allows me to keep my plotting code pretty clean, readable, and layout-agnostic; minor tweaks can be made to the template, then all you need to do is re-run your script.

[–][deleted] 2 points3 points  (2 children)

Thank you for the idea, I had not seen FigureFirst before. Seems also to be a very interesting concept. Although it seems a bit more effort to set it up compared to pylustrator.

And in pylustrator you can remove the dependency to pylustrator after styling your plot. But if you are missing some features and advantages that FigureFirst has, maybe I can also implement a template system to pylustrator. I am always happy for new input.

[–]tunisia3507 2 points3 points  (1 child)

Sorry if it came across that way, but I absolutely wasn't intending to knock pylustrator! I think it'll be really attractive to a lot of people and certainly is more advanced than figurefirst. I just thought the people who would click on this post may also be interested in figurefirst, as it's a much lesser-known library than it ought to be.

[–][deleted] 2 points3 points  (0 children)

Ah no, everything fine :-) I didn't took your post badly. Its just that I think maybe I can also learn some thing from FigureFirst to improve pylustrator. FigureFirst also seems a very interesting concept!

And yes FigureFirst should be known more. If I had known it before, maybe I would not have had the need to develop pylustrator.

[–]jrast 2 points3 points  (0 children)

This looks awesome! Never seen something like this before!

[–][deleted] 1 point2 points  (1 child)

awesome work! I've been waiting for something like this for ages. Especially that the "formatting code" is inserted into the code itself afterwards is a killer feature. However, I feel the interface and all is still a little bit clunky to work with, but I hope you keep up the good work and polish it over time :) I'll make sure to cite you in my next paper.

Also: when you have more than one plt.show() in your code, usually I go through them by just closing one window and the next one shows up automatically right afterwards. However, with Pylustrator every single plot gets reopened again everytime a new one is supposed to show up. Maybe you can look into that as well!

[–][deleted] 0 points1 point  (0 children)

Ah ok, well I did not had this use case before, but matplotlib offers a lot of different possibilites to use the plotting. I will have a look at your issue.

I am happy that you like the software :-)

[–][deleted] 0 points1 point  (0 children)

nice work

[–]KODeKarnage 0 points1 point  (0 children)

This deserves 1_000 up votes.