<%// ChangeTileLayout:%>


<%
// To change the chart layout, call the TileChartModel's setLayoutType() method.
// This example specifies LAYOUT_GEOGRAPHIC, which requires positioning variables.
// The positioning variables in this case are the longitude and latitude 
// coordinates of the cities in the data.
%>
<%@page import="com.sas.graphics.components.tilechart.TileChart,
   com.sas.graphics.components.tilechart.TileChartModel,
   com.sas.graphics.components.tilechart.TileChartTableDataModel,
   com.sas.graphics.components.AnalysisVariable,
   com.sas.graphics.components.GraphConstants,
   com.sas.graphics.components.ClassificationVariable,
   com.sas.graphics.components.ClassificationVariableList,
   javax.swing.table.DefaultTableModel"
%>
<%
     // Create a TileChart and a data source 
        TileChart tileChart=new TileChart();
%>

   <%@ include file="GeographicData.jsp" %>

<%
  // Set the chart layout
     TileChartModel graphModel=tileChart.getGraphModel();
     graphModel.setLayoutType(TileChartModel.LAYOUT_GEOGRAPHIC);

  // Create a data model and attach the data source
     TileChartTableDataModel dataModel=
               new TileChartTableDataModel();
     dataModel.setModel(dataTable);

  // Define multiple Classification variables
     ClassificationVariableList multiTile=new ClassificationVariableList(
       new ClassificationVariable[] {
          new ClassificationVariable("State", GraphConstants.SORT_DESCENDING),
          new ClassificationVariable("City", GraphConstants.SORT_DESCENDING)
     } );

  // Assign the classification list to the Tile variable role
     dataModel.setTileVariable(multiTile);

  // Assign the Size variable role
     dataModel.setSizeVariable(
               new AnalysisVariable("Population"));
 
  // Assign the Color variable role
     dataModel.setColorVariable(
               new AnalysisVariable("Ave July temp."));
  
  // Assign geographic variable roles
     dataModel.setYVariable(
               new AnalysisVariable("Latitude"));
     dataModel.setXVariable(
               new AnalysisVariable("Longitude"));

  // Assign the data model to the TileChart
     tileChart.setDataModel(dataModel);

  // Assign a title
     tileChart.getTitle1().setText("Geographic Layout");

  // Set HTTP-specific response and request functionality
     tileChart.setResponse(response);
     tileChart.setRequest(request);

  // Set a graph size and write the chart to the display
     tileChart.setWidth(600);
     tileChart.setHeight(450);
     tileChart.write(out);
%>