Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How does this project compare/contrast with XPlot? #1

Open
eerhardt opened this issue Aug 13, 2019 · 10 comments
Open

How does this project compare/contrast with XPlot? #1

eerhardt opened this issue Aug 13, 2019 · 10 comments
Assignees

Comments

@eerhardt
Copy link

See https://github.com/fslaborg/XPlot. It looks like this is a duplicate of that work. XPlot also has wrappers for GoogleCharts and a D3.js network graph.

Why not contribute to that library instead of building a duplicate?

@kerryjiang
Copy link
Member

It is F# project. Is it good for C# projects? Anyway, XPlot looks really cool.

@Oceania2018
Copy link
Member

@eerhardt Does XPlot.Plotly generate javascript? We need a plotting function that interacts with the front-end user and be able to present the real-time change for the loss function. We haven't found this library when we do Plot.NET. @kerryjiang XPlot.Plotly might be a shortcut.

@eerhardt
Copy link
Author

It is F# project. Is it good for C# projects?

It works well for C#. And in places where it doesn't, I think we can contribute to XPlot to make it great for both F# and C# at the same time.

Does XPlot.Plotly generate javascript?

Yes it does. See https://github.com/fslaborg/XPlot/blob/master/src/XPlot.Plotly/Main.fs#L93-L117.

FYI - I have been using XPlot.Plotly together with the Jupyter kernel that dotnet/try is building plus the dotnet/corefxlab DataFrame library that @pgovind is building to enable visualizations in a C# Juypter notebook. For example, I'm able to do:

image

I see there is also a Juypter kernel project in SciSharp - https://github.com/SciSharp/ICSharpCore. What do you think about combining forces with the dotnet/try effort to make one really great Jupyter experience?

/cc @jonsequitur @colombod

@kerryjiang
Copy link
Member

Just noticed there is another Jupyter extension for C#:
Microsoft.DotNet.Interactive.Jupyter - https://github.com/dotnet/try/tree/master/Microsoft.DotNet.Interactive.Jupyter

I will take a look both of them.

@zyzhu
Copy link

zyzhu commented Sep 18, 2019

I use GetInlineHtml() to get html if needed.
https://github.com/fslaborg/XPlot/blob/1abb20223a016a76a341b23166b2b71fcad4ec51/src/XPlot.Plotly/Main.fs#L84

XPlot already works fairly well on IfSharp Jupyter notebook. I use it on various internal research notebooks.

@Oceania2018
Copy link
Member

@eerhardt We really want to work with ML.NET to create a great user experience product. You probably know that our team is tiny and part-time to contribute to SciSharp. It may not be possible to contribute too much to dotnet/try at this time.

What can we do now? Discard this project and guide the users to dotnet/try?
@codemzs

@eerhardt
Copy link
Author

You probably know that our team is tiny and part-time to contribute to SciSharp. It may not be possible to contribute too much to dotnet/try at this time.

That's no problem at all. I totally understand having a finite set of resources. And that is at the heart of this issue - we all only have so much time in the day, why spend it duplicating effort?

What can we do now? Discard this project and guide the users to dotnet/try?

That's totally up to you. If you want to continue this project and ICSharpCore, you can.

But just know that we would gladly welcome any help/contributions in dotnet/try, and I hope the owners over at https://github.com/fslaborg/XPlot feel the same for XPlot.

My main goal is to have a great experience for .NET devs. And I think by combining our efforts we will make a better experience for them.

@zyzhu
Copy link

zyzhu commented Sep 18, 2019

Though I'm not the maintainer of XPlot, I think pull requests to XPlot shall be greatly appreciated.

There are quite a list of pending issues to be solved there such as XPlot.D3 and subplots.

Wrapper functions to work with new DataFrame type similar to XPlot.GoogleCharts.Deedle will be very productive to users too. I do plan to add another wrapper as XPlot.Plotly.Deedle when I have some down time.

@colombod
Copy link

As @eerhardt says we are very happy to welcome contribution from project like yours as you all have experience with the core technology and understand the user space. Having your help in extending the core engine of dotnet/try would be amazing. Also we are designing extension points ad it would be great to start building a set of great experiences for ML users

@kerryjiang
Copy link
Member

I will take a close look at dotnet/try to see if if the TensorFlow.NET and ML.NET can run inside it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants