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.ColumnType; import com.googlecode.gwt.charts.client.DataTable; import com.googlecode.gwt.charts.client.corechart.PieChart; public class DiffPieChartExample extends DockLayoutPanel { private PieChart chart; public DiffPieChartExample() { 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 PieChart(); add(chart); draw(); } }); } private void draw() { // Prepare the data DataTable pieOldData = DataTable.create(); pieOldData.addColumn(ColumnType.STRING, "Major"); pieOldData.addColumn(ColumnType.NUMBER, "Degrees"); pieOldData.addRow("Business", 256070); pieOldData.addRow("Education", 108034); pieOldData.addRow("Social Sciences & History", 127101); pieOldData.addRow("Health", 81863); pieOldData.addRow("Psychology", 74194); DataTable pieNewData = DataTable.create(); pieNewData.addColumn(ColumnType.STRING, "Major"); pieNewData.addColumn(ColumnType.NUMBER, "Degrees"); pieNewData.addRow("Business", 358293); pieNewData.addRow("Education", 101265); pieNewData.addRow("Social Sciences & History", 172780); pieNewData.addRow("Health", 129634); pieNewData.addRow("Psychology", 97216); // Draw the chart chart.draw(chart.computeDiff(pieOldData, pieNewData)); } }