Ext GWT is providing us a very handy Chart library based on Open Flash Chart. Here you will find a step by step detail description about creating a simple horizontal bar chart using the GXT chart library.
Create a new project named GXTBascicChart and add GXT library in the project. Go to the GXTBascicChart.gwt.xml file and add this line
<inherits name='com.extjs.gxt.charts.Chart'/>
Now go to the directory where you have extracted the GXT library. In the resource folder you will find all the resources for using GXT. Copy the chart and flash folders in the war folder of you application.
Go to the onModuleLoad method of GXTBascicChart class and remove all the auto generated code of this method. Create a Content Panel to place the chart
ContentPanel cp = new ContentPanel(); cp.setHeading("Horizontal Bar chart"); cp.setFrame(true); cp.setSize(550, 400); cp.setLayout(new FitLayout());
Now create a Chart component by providing the location of the open flash chart Shockwave file which resides in the chart folder.
String url = "chart/open-flash-chart.swf"; final Chart chart = new Chart(url);
Set a Chart Model for the chart object and add this to the Content Panel
chart.setBorders(true); chart.setChartModel(getHorizontalBarChartModel()); cp.add(chart); RootPanel.get().add(cp);
The Chart Model is responsible for the chart title, axes, legends, labels, and draw-able elements in your chart. Here is the getHorizontalBarChartModel method
public ChartModel getHorizontalBarChartModel() { //Create a ChartModel with the Chart Title and some style attributes ChartModel cm = new ChartModel("Students by Department", "font-size: 14px; font-family: Verdana; text-align: center;"); XAxis xa = new XAxis(); //set the maximum, minimum and the step value for the X axis xa.setRange(0, 200, 50); cm.setXAxis(xa); YAxis ya = new YAxis(); //Add the labels to the Y axis ya.addLabels("CSE", "EEE", "CE", "ME","CHE"); ya.setOffset(true); cm.setYAxis(ya); //create a Horizontal Bar Chart object and add bars to the object HorizontalBarChart bchart = new HorizontalBarChart(); bchart.setTooltip("#val#Students"); bchart.addBars(new HorizontalBarChart.Bar(60, "#ffff00")); //different color for different bars bchart.addBars(new HorizontalBarChart.Bar(180, "#0000ff")); bchart.addBars(new HorizontalBarChart.Bar(180, "#00ff00")); bchart.addBars(new HorizontalBarChart.Bar(120, "#ff0000")); bchart.addBars(new HorizontalBarChart.Bar(120, "#333ccc")); //add the bchart as the Chart Config of the ChartModel cm.addChartConfig(bchart); cm.setTooltipStyle(new ToolTip(MouseStyle.FOLLOW)); return cm; }
And here is the last step before running your application.
Go to the GXTBascicChart.html file and add the following line in the head section
<script language='javascript' src='flash/swfobject.js'></script>That's all. Run the application and the output will be like this