lava / matplotlib-cpp

Extremely simple yet powerful header-only C++ plotting library built on the popular matplotlib
MIT License
4.28k stars 1.12k forks source link

Will this project be maintained anymore? #253

Open JonasBreuling opened 3 years ago

JonasBreuling commented 3 years ago

Dear mr. Evers,

thank you for creating this awesome library! I have been following the activity on this repository over the past few months and have found that it is no longer actively developed. This is really a shame, as many suggestions from the community are brought in, but unfortunately they are not processed or followed up.

I would kindly ask you if you wil find time in the near future to maintain this project more actively or if you are willing to transfer/ share the ownership of your project in order to let me and possibly some other users of your library help to improve it.

I'm looking forward to hearing from you.

Stay healthy and best regards Jonas Harsch

evelez7 commented 3 years ago

Bump, I'd love to see this project continue to be maintained as it is an extremely useful tool.

amadeus84 commented 2 years ago

Currently there's 791 forks, I guess everyone interested is already maintaining their own repository. The original repository doesn't seem to be maintained anymore. It's a pity.

JonasBreuling commented 2 years ago

@amadeus84 are you interested in working in a more recent version of a matplotlib C++ library? It seems like you have alot input to give to this project.

amadeus84 commented 2 years ago

I'd happily contribute, time permitting, to an actively maintained plotting library. The only knowledge I have about the Python C-API, though, is very limited, just what I could gather this past couple of days while trying to fix that segfault and experimenting with the examples. So I'll contribute, but we need someone who knows the Python API very well to lead the way.

Currently, the features that I'm interested in are

  1. come up with a plot() solution that avoids copying data. For vectors, that's the case, matplotlibcpp passes the vector's data buffer to python, without copying it. But for anything else (like ranges) it copies the data.
  2. plot time series
evelez7 commented 2 years ago

@JonasHarsch @amadeus84 I would also gladly contribute to this, whether it is a fork of the @lava repo or an original project. I am not an expert on the Python C API but I am currently digging into it.

amadeus84 commented 2 years ago

So if you guys are interested, check out my repository

https://github.com/amadeus84/matplotlib-cpp

I fixed the segfault on exit bug and added support for contiguous ranges, without internally copying the data. Also, support for plt::plot(x, Y) where Y is a matrix, in which case we plot all columns of Y at the same time, against x, without looping (though the python C-code has to loop somewhere).

My next goal would be to be able to pass some sort of time array from C++ to plt::plot() as the first argument. The python-native plot() does accept datetime as the x variable, and then it automatically labels the x axis appropriately. Something like this:

https://stackoverflow.com/questions/25033711/how-to-create-of-numpy-array-of-datetime64-objects-using-c-api