Visualization tools

I am looking for some good libraries to use for data visualization. Any suggestion where I should start?

1 Like

Hi @kmll,

It depends a bit what kind of data you want to visualize.
What are your plans ?

Cheers
— mnse

2 Likes

Yes @mnse is right for data visualization you can use several powerful and versatile libraries according to your need. If you are using Java then java library is JFreeChart, for javascript is D3.js and like this so many available.
So, which technology you are searching for.

Thanks for the advise. In this particular case I have a file containing values like this:
1 64
1 32
2 34
1 78
2 43
3 12
1 78
2 23
3 44
3 15
I then want to display a line chart containing three lines where the first line contains all the values where the first column is 1 and the second line for all values where the first column is 2 etc.

How does the 1st line contain those values?
Like on top of each other in the same line?

1 Like

For the rows containing 1 as an id I would like to display a graph like this:

ScreenHunter 2770

1 Like

JavaFX has a line chart capability:

import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import javafx.scene.control.*;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;

Pane pane;

Pane addControls() {
  pane = new Pane();
  // **** Line Chart **** //
  NumberAxis xAxis = new NumberAxis();
  xAxis.setLabel("Observation");
  NumberAxis yAxis = new NumberAxis();
  yAxis.setLabel("Value");
  LineChart lineChart = new LineChart(xAxis, yAxis);
  XYChart.Series Series1 = new XYChart.Series();
  XYChart.Series Series2 = new XYChart.Series();
  XYChart.Series Series3 = new XYChart.Series();
  Series1.setName("Series 1");
  Series2.setName("Series 2");
  Series3.setName("Series 3");
  Series1.getData().add(new XYChart.Data(1, 64));
  Series1.getData().add(new XYChart.Data(2, 32));
  Series1.getData().add(new XYChart.Data(3, 78));
  Series1.getData().add(new XYChart.Data(4, 78));
  Series2.getData().add(new XYChart.Data(1, 34));
  Series2.getData().add(new XYChart.Data(2, 43));
  Series2.getData().add(new XYChart.Data(3, 23));
  Series3.getData().add(new XYChart.Data(1, 12));
  Series3.getData().add(new XYChart.Data(2, 44));
  Series3.getData().add(new XYChart.Data(3, 15));
  lineChart.getData().add(Series1);
  lineChart.getData().add(Series2);
  lineChart.getData().add(Series3);
  lineChart.setTitle("My Special Data");
  lineChart.setLayoutX(80);
  lineChart.setLayoutY(50);
  lineChart.setMaxSize(420, 340);
  pane.getChildren().add(lineChart);

  return pane;
}

void setup() {
  size(1, 1, FX2D);
  Stage stage = new Stage();
  stage.setTitle("JavaFX Controls");
  pane = addControls();
  Scene scene = new Scene(pane, 600, 450);
  stage.setScene(scene);
  stage.show();
}

void draw() {
}

1 Like