<%// InterpolateLine:%>

    <%
    // To specify an interpolation method
    // 1) Get the plot's graph model
    // 2) Use the model to get the DataElementStyles
    // 3) Use the DataElementStyles to get the array of MarkerStyles
    // 4) Use a MarkerStyle element to specify the interpolation method
    %>

    <%@page import="com.sas.models.SimpleTable,
            com.sas.swing.models.TableModelAdapter,
            com.sas.servlet.tbeans.graphics.html.LinePlot,
            com.sas.graphics.components.DataElementStyles,
            com.sas.graphics.components.MarkerStyle,
            com.sas.graphics.components.lineplot.LinePlotModel,
            com.sas.graphics.components.lineplot.LinePlotTableDataModel,
            com.sas.graphics.components.PlotVariable"
    %>

    <%
      // Create a LinePlot instance
         LinePlot linePlot = new LinePlot();

      // Create a simple SAS table and add data to it
         SimpleTable table = new SimpleTable();
    %>

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

    <%
      // Convert a simple SAS table to a simple Java Swing table
         TableModelAdapter tma = new TableModelAdapter(table);
         tma.setFormattedDataUsed(false);

      // 1) Get the plot's graph model
            LinePlotModel graphModel=linePlot.getGraphModel();

      // 2) Use the model to get the DataElementStyles
            DataElementStyles des = graphModel.getDataElementStyles() ;

      // 3) Use the DataElementStyles to get the array of MarkerStyles
            MarkerStyle[] markerStyles = des.getMarkerStyles();

      // 4) Use a MarkerStyle element to specify the interpolation method
            markerStyles[0].setInterpolation(MarkerStyle.INTERPOLATION_STEP_RIGHT);
            markerStyles[0].setVisible(true);

      // Create a data model and attach the data source to it
         LinePlotTableDataModel linePlotDataModel=
            new LinePlotTableDataModel(tma);

      // Assign the X and Y variable roles
         linePlotDataModel.setXVariable(
            new PlotVariable("x2"));
         linePlotDataModel.setYVariable(
            new PlotVariable("y2"));

      // Assign the data model to the LinePlot
         linePlot.setDataModel(linePlotDataModel);

      // Set a title
         linePlot.getTitle1().setText("Change the Graph Interpolation");

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

      // Write the chart to the display
         linePlot.write(out);
    %>