         # The chart configuration.
         chart.width(CHART_LAYOUT_PARAMS.width)
           .height(CHART_LAYOUT_PARAMS.height)
-          .x(d3.scale.linear().domain(scales[xAxis].range))
-          .y(d3.scale.linear().domain(scales[yAxis].range))
-          .elasticX(true)
           .elasticY(true)
           .xAxisLabel(LABELS[xAxis])
           .yAxisLabel(LABELS[yAxis])
-          .xAxisPadding(scales[xAxis].padding)
-          .yAxisPadding(scales[yAxis].padding)
           .renderVerticalGridLines(true)
           .renderHorizontalGridLines(true)
           .symbolSize(CHART_LAYOUT_PARAMS.symbolSize)

    #     * label - Appears in the dropdown picklists and as chart axis labels.
    #     * coll - The collection(s) for which the data type is valid. May be
    #         'all' or a list of specific collections.
    #     * accessor - The data accessor.
    #
    #   The order of the data types and their handles must be exactly

      scales = new Object
      # Iterate over the valid data types.
      for key of choices
        # If the data type has ordinal values, return the value array.
        #   Otherwise, make a list of all values for the data type and obtain
        #   the max and min values.     
        if key in Object.keys ORDINAL_SCALES
          scales[key] =
            range: ORDINAL_SCALES[key]
            padding: null
            isOrdinal: true
        else
          allValues = (dat[key] for dat in data)
          max = _.max allValues
          min = _.min allValues
          diff = max - min
          # If the values are not all the same, calculate a padding value based
          #   the chart layout parameter setting, e.g. a setting of .2 will
          #   give the chart 20% padding.
          # If the values are all the same, calculate a padding value of an
          #   appropriate resolution for that value. The initial "result" value
          #   reflects the number of digits or decimal places of the scatterplot
          #   values. Each chart tick mark above and below that value is then set
          #   to 10 to the power of the result reduced by 1.
          if diff != 0
            pad = diff * CHART_LAYOUT_PARAMS.axisPadding
          else
            max = Math.abs(max)
            result = Math.ceil(Math.log(max) / Math.log(10))
            if Math.abs(result) is Infinity then result = 0
            pad = CHART_LAYOUT_PARAMS.ticks / 2 * Math.pow(10, result - 1)
          # Add the range and padding for the data type to the scales object.
          scales[key] =
            range: [min, max]
            padding: pad
            isOrdinal: false
      # Return the scales object.
      scales

