You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The javascript schema has grown a lot since XPlot was updated years ago. There are also lots of overlapping type definitions. They are fine in dynamic Javascript world. But we have to accommodate the union of all type members in fsharp.
@Shmew Interesting! How portable (i.e., in non-Fable environments) do you think the generated types are? Would love to incorporate your generator for XPlot here.
Pretty much everything outside of Plotly.plot is just an object, would probably be pretty easy to implement. From what I can tell it looks like this is just creating an inline html page.
Is there a reason to not use Fable at that point? It's pretty easy to build sites with no backend like the docs for the library are. Which lets the application be more performant, and have the full plotly.js api available for use.
@cartermp Would let you also be able to support additional visualization libraries fairly easy too, and stay up-to-date with those already supported. I can try to help if you do make the jump, and the gitter is very active and helpful as well.
@cartermp just one comment on this thread, but the work by @Shmew is absolutely amazing - worth checking to replace the current XPlot bindings with it. Just did the same for using Plotly on Bridge.Net - took less than a day to get it working based on his generator code: Plotly.Bridge
Activity
cartermp commentedon Nov 7, 2019
Boxplots are a big one too.
zyzhu commentedon Nov 7, 2019
I tried to give it a shot the other day and was overwhelmed by the amount of work.
The current binding seems to work by running
Graph.fsx. It downloads plot-schema.json (the latest link is https://raw.githubusercontent.com/plotly/plotly.js/master/dist/plot-schema.json) and generate types to correspond to plotly schema.The javascript schema has grown a lot since XPlot was updated years ago. There are also lots of overlapping type definitions. They are fine in dynamic Javascript world. But we have to accommodate the union of all type members in fsharp.
zyzhu commentedon Nov 7, 2019
The other impression is
Graph.fslooks way too long. It would be good break it down into pieces.colombod commentedon Nov 7, 2019
How would you like to go about it, if you show me the way I would be more than happy to share the workload and get all new features
zyzhu commentedon Nov 7, 2019
There is another repo FSharp.Plotly that was inspired by XPlot. It binds to some Plotly charts too. You may take a look at their breakdown.
https://github.com/muehlhaus/FSharp.Plotly/tree/master/src/FSharp.Plotly
cartermp commentedon Nov 7, 2019
Breaking up
Graph.fsinto separate files for each specific graph type seems quite tractable. I imagine that'll help with contributions, too.cartermp commentedon Nov 8, 2019
Related: #49
Shmew commentedon Nov 9, 2019
I have a fable library I'm working on that is pretty serviceable at the moment that may be of use: Feliz.Plotly
cartermp commentedon Nov 10, 2019
link #115
cartermp commentedon Nov 11, 2019
@Shmew Interesting! How portable (i.e., in non-Fable environments) do you think the generated types are? Would love to incorporate your generator for XPlot here.
Shmew commentedon Nov 11, 2019
Pretty much everything outside of
Plotly.plotis just an object, would probably be pretty easy to implement. From what I can tell it looks like this is just creating an inline html page.Is there a reason to not use Fable at that point? It's pretty easy to build sites with no backend like the docs for the library are. Which lets the application be more performant, and have the full plotly.js api available for use.
ErikSchierboom commentedon Nov 12, 2019
I would love to see more bindings, especially the organisation chart.
cartermp commentedon Nov 13, 2019
@Shmew I'm considering incorporating Fable in XPlot, since at the end of the day it's just producing JS and Fable is good for that.
Shmew commentedon Nov 13, 2019
@cartermp Would let you also be able to support additional visualization libraries fairly easy too, and stay up-to-date with those already supported. I can try to help if you do make the jump, and the gitter is very active and helpful as well.
theolivenbaum commentedon Nov 13, 2019
@cartermp just one comment on this thread, but the work by @Shmew is absolutely amazing - worth checking to replace the current XPlot bindings with it. Just did the same for using Plotly on Bridge.Net - took less than a day to get it working based on his generator code: Plotly.Bridge