Open eerhardt opened 5 years ago
It is F# project. Is it good for C# projects? Anyway, XPlot looks really cool.
@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.
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:
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
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.
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.
@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
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.
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.
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
I will take a close look at dotnet/try to see if if the TensorFlow.NET and ML.NET can run inside it.
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?