dython icon indicating copy to clipboard operation
dython copied to clipboard

Make Agnostic to Plotting Library

Open jayceslesar opened this issue 4 years ago • 3 comments

Plots Can be Rendered in any Plotting Library:

Plotly and Bokeh are also really widely used, supporting graphs in different libraries when all the matrix work is done in the backend makes sense in terms of building a more adaptable analysis tool.

What is the current outcome?

Still unsure how to answer this question, but supporting this kind of EDA in multiple plotting libraries is a nice touch.

Is it backward-compatible?

Would just be adding code to support other plotting libraries.

Happy to take a stab at the plotly stuff, but bokeh is not my strong suit.

Unsure the best way to architect this...maybe extras[library] in the setup.py and have a default of matplotlib/seaborn, with the extras explicitly requiring and using other libraries as to not bloat the tool for more common use.

So if I wanted dython to render plotly graphs I would just pip install dython[plotly]

jayceslesar avatar Jul 17 '21 20:07 jayceslesar

Hey @jayceslesar ! Could you please elaborate on the benefits of this feature? It seems to me like a lot of work is involved for something that can be quite transparent to most users. Unless I'm missing something here, it seems like it will only save installing seaborn when installing dython. What do you think?

shakedzy avatar Jul 29 '21 15:07 shakedzy

I think the main benefit is that I see this tool potentially becoming a super useful EDA tool. A lot of my analysis used to be done in R (and actually still is because that is where I learned it and the needed syntax) but I mainly develop in python. I think this tool has the potential to automate many common EDA workflows, where say I could pass in a dataset to a function called cluster_workflow that takes a category you want to cluster by and the dataset, and outputs all the needed useful plots and summary stats for EDA. Similarly, there could be a function for regression regression_workflow and it would produce a set of plots used for EDA for regression. Being able to support different plotting libraries is definitely an easier step if trying to build a general tool (where the work is actually done in numpy). Eventually, being able to support custom workflows is the goal of a program I know myself and many others would use, where a user could very simply define what they want to see in terms of EDA and a dataset. I am not sure if a similar tool already exists but see great potential for something like what I have described given the current state of this repo. Let me know @shakedzy

jayceslesar avatar Jul 29 '21 21:07 jayceslesar

@jayceslesar I see what you mean here, so basically having different engines is a step-one towards something bigger. I won't stop you from publishing a PR in that case :)

shakedzy avatar Aug 01 '21 12:08 shakedzy

Closing this

shakedzy avatar Sep 04 '22 08:09 shakedzy