package com.googlecode.gwt.charts.showcase.client.diffchart;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.googlecode.gwt.charts.client.ChartLoader;
import com.googlecode.gwt.charts.client.ChartPackage;
import com.googlecode.gwt.charts.client.DataTable;
import com.googlecode.gwt.charts.client.corechart.ScatterChart;
import com.googlecode.gwt.charts.client.util.ChartHelper;
public class DiffScatterChartExample extends DockLayoutPanel {
private ScatterChart chart;
public DiffScatterChartExample() {
super(Unit.PX);
initialize();
}
private void initialize() {
ChartLoader chartLoader = new ChartLoader(ChartPackage.CORECHART);
chartLoader.loadApi(new Runnable() {
@Override
public void run() {
// Create and attach the chart
chart = new ScatterChart();
add(chart);
draw();
}
});
}
private void draw() {
// Prepare the data
DataTable scatterOldData = ChartHelper.arrayToDataTable(new Object[][] { { "", "Medicine 1", "Medicine 2" },
{ 23, null, 12 }, { 9, null, 39 }, { 15, null, 28 }, { 37, null, 30 }, { 21, null, 14 },
{ 12, null, 18 }, { 29, null, 34 }, { 8, null, 12 }, { 38, null, 28 }, { 35, null, 12 },
{ 26, null, 10 }, { 10, null, 29 }, { 11, null, 10 }, { 27, null, 38 }, { 39, null, 17 },
{ 34, null, 20 }, { 38, null, 5 }, { 33, null, 27 }, { 23, null, 39 }, { 12, null, 10 },
{ 8, 15, null }, { 39, 15, null }, { 27, 31, null }, { 30, 24, null }, { 31, 39, null },
{ 35, 6, null }, { 5, 5, null }, { 19, 39, null }, { 22, 8, null }, { 19, 23, null }, { 27, 20, null },
{ 11, 6, null }, { 34, 33, null }, { 38, 8, null }, { 39, 29, null }, { 13, 23, null },
{ 13, 36, null }, { 39, 6, null }, { 14, 37, null }, { 13, 39, null } }, false);
DataTable scatterNewData = ChartHelper.arrayToDataTable(new Object[][] { { "", "Medicine 1", "Medicine 2" },
{ 22, null, 12 }, { 7, null, 40 }, { 14, null, 31 }, { 37, null, 30 }, { 18, null, 17 },
{ 9, null, 20 }, { 26, null, 36 }, { 5, null, 13 }, { 36, null, 30 }, { 35, null, 15 },
{ 24, null, 12 }, { 7, null, 31 }, { 10, null, 12 }, { 24, null, 40 }, { 37, null, 18 },
{ 32, null, 21 }, { 35, null, 7 }, { 31, null, 30 }, { 21, null, 42 }, { 12, null, 10 },
{ 10, 13, null }, { 40, 12, null }, { 28, 29, null }, { 32, 22, null }, { 31, 37, null },
{ 38, 5, null }, { 6, 4, null }, { 21, 36, null }, { 22, 8, null }, { 21, 22, null }, { 28, 17, null },
{ 12, 5, null }, { 37, 30, null }, { 41, 7, null }, { 41, 27, null }, { 15, 20, null },
{ 14, 36, null }, { 42, 3, null }, { 14, 37, null }, { 15, 36, null } });
// Draw the chart
chart.draw(chart.computeDiff(scatterOldData, scatterNewData));
}
}