Settings

Theme

Show HN: MPLG – Matplotlib GUI, design plots visually and export as Python code

everydayanchovies.github.io

80 points by dailyanchovy 4 years ago · 23 comments

Reader

dailyanchovyOP 4 years ago

Hi HN, this project has been my life for the past few months, I hope some of you find it to be of use.

With MPLG you design plots, and when satisfied, export the Python code to further integrate into your existing data processing pipeline.

This is early stage software and naturally, there will be bugs and oversights. Nevertheless I wanted to share this with you to have a discussion about the value MPLG brings to the table. I would love to hear your constructive criticism.

There is a six month long free trial after which you can register with your student email address for a free license. But as MPLG is still in beta, there is no way to purchase a license.

Cheers,

Max

  • Y_Y 4 years ago

    How about releasing the source? I know you want to sell licenses, but there are plenty of projects nowadays that dual-license so that e.g. commercial users pay, but others can still read/modify/compile the code.

    (To be honest I didn't even know you could use GitHub to publicly serve a closed-source project.)

    • dailyanchovyOP 4 years ago

      I very likely will. But that's just another thing to worry about and for my sanity I am deferring it. This is being developed alongside my study and two other jobs.

      • Y_Y 4 years ago

        That's ambitious! Well the project looks cool, and I'd love to see it under a FOSS license. Much more important though is your health. I hope you're some kind of superhuman who can handle all that at once, but either way I think everyone's got to value their wellbeing over GitHub stars.

  • jhgb 4 years ago

    I wonder, have you considered Vega output? (https://vega.github.io/vega)

  • jftuga 4 years ago

    Max,

    Your website looks great.

xioxox 4 years ago

Interesting. I thought about writing a Matplotlib version of my Veusz GUI plotting package [1], but at the time Matplotlib was far too slow.

Veusz is quite nice in that the Python-based widget-based plotting library is the backend to the GUI. The saved documents are essentially the Python API calls used to recreate the plot. The plotting library holds the document as a tree of plotting widgets (e.g. axis, graph, function plot...) with a set of properties.

[1] https://veusz.github.io/

  • dailyanchovyOP 4 years ago

    This looks very sophisticated, much more complex than MPLG. Very impressive! I also wonder why I didn't come across Veusz while doing market research.

    A main goal of MPLG is to KISS so that users would open it up for the first time and they will be able to quickly jot down a plot design. This way they won't feel overwhelmed when needing to quickly create another plot sometime in the future, and be compelled to use MPLG.

    Matplotlib is indeed very slow. But if you ever decide to write a matplotlib version of your package, get in touch, I'll explain how I designed MPLG and what you might want to avoid!

icegreentea2 4 years ago

Downloads points to like a git-lfs pointer or something?

   version https://git-lfs.github.com/spec/v1
   oid sha256:f53cea2b22f3343d76ca776c9378c212a6eeb1e67f4f8a26dc780d6247d7df38
   size 148824450
visarga 4 years ago

Great idea. I could never remember the incantations of matplotlib. Always copy pasting the boilerplate from SO.

The plt import variable looks more like a global var than a class instance, is this good design?

blix 4 years ago

This is a very interesting project! I love maplotlib but sometimes getting it to do what I want is an absolute chore. I may give this a shot with some of my next figures.

  • dailyanchovyOP 4 years ago

    Great to hear, don't hesitate to get in touch with any questions you might have: max@riverspirit.nl

wajsbrot 4 years ago

This is wonderful, I've been looking for a project like this for a while now. Thanks, I'll give it a try for the next couple of weeks.

  • dailyanchovyOP 4 years ago

    This is encouraging! Don't hesitate to get in touch if you have any feedback: max@riverspirit.nl

heisenzombie 4 years ago

Oooh, you won me over with the placing text and labels part. That's great!

  • version_five 4 years ago

    What I really liked about matlab was that you could programmatically generate figures and then modify them, by adding annotations etc. This seems like a logical thing for plotly or vega or one of the javascript python image libraries to add.

    That said, I would not pay for this. Python has an awesome free and open source ecosystem, I cant imagine using pytorch, scikit learn, numpy, pandas etc for free then paying to annotate my plots.

    • dailyanchovyOP 4 years ago

      I understand. I intended to charge for certain usage types only. MPLG will very likely be free for individuals, but you can buy a license to unlock the following (individually):

      - educational features such as tooltips and explanations for common python and matplotlib functions;

      - commercial use;

      - educational use (as part of a curriculum).

      - potentially, export to other languages (Julia).

    • orbifold 4 years ago

      You can do that with ROOT aswell.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection