I just want to graph some data. Not share this on the internet.
A simple API would be fine.
I’ve used breeze-viz for quick and dirty plotting. Pretty easy to work with.
I’d love to push my own plotting library (GitHub - MarkCLewis/SwiftVis2: Plotting/visualization with graphical dataflow analysis.), but I haven’t been able to put much time into it recently, so I don’t really feel comfortable doing that. When I looked at Scala plotting libraries to see what else was out there a while back, Evil Plot (GitHub - cibotech/evilplot: A Scala combinator-based plotting library.) jumped out as the library that seemed to have the best combination of support and quality output.
Breeze-viz, which was mentioned earlier, is based on JFreeChart. I find the output of JFreeChart to look horrible. SPlot and NSPL were others that seemed reasonable to me. A lot depends on your use-case. There is a decent summary that includes all of the ones mentioned here at Top 7 Scala Libraries For Data Visualisation.
There is breeze,
but also saddle.
My reply comes a bit late here.
I maintain GitHub - pityka/nspl: scala plotting library with which one can solve many data visualization tasks.
An even later reply. Consider Java plotting libraries:
- GitHub - knowm/XChart: XChart is a light-weight Java library for plotting data.
- GitHub - HanSolo/charts: A JavaFX library that contains different kind of charts
- GitHub - fair-acc/chart-fx: A scientific charting library focused on performance optimised real-time data visualisation at 25 Hz update rates for data sets with a few 10 thousand up to 5 million data points.
- http://www.jzy3d.org/
- GitHub - hageldave/JPlotter: OpenGL based 2D Plotting Library for Java using AWT and LWJGL
Have not tried the last 2.
HTHs
While I am at it, you also have the option of using JavaScript via Java. Here are 2 examples that use Plotly and Vega:
- GitHub - jtablesaw/tablesaw: Java dataframe and visualization library
- GitHub - haifengl/smile: Statistical Machine Intelligence & Learning Engine
HTHs
Here is another Plotly binding, but in Scala:
See also https://almond.sh/ were this is used.
EDIT:
One more. This one has the advantage of using Scala directly. It uses Vega.
You can find its documentation here.