       d.date = parseDate(d.date)
       d.users_osu = +d.users_osu
 
-    xScale = d3.time.scale().range([
+    @xScale = d3.scale.linear().range([
       0
       @width
     ])
 
-    yScale = d3.scale.linear().range([
+    @yScale = d3.time.scale().range([
       @height
       0
     ])

      .attr 'class', 'landing-graph__text'
      .text Lang.get('home.landing.peak', 'count': @maxElem.users_osu.toLocaleString())
      .attr 'y', -@peakR * 2

    # Get the width of the element to determine angle offset
    textLength = 0
    rightX = xScale(@maxElem.date) + @peakR * 2
    textLength = text.node().getComputedTextLength()
    if (textLength + rightX) > width
      text.attr 'x', xScale(@maxElem.date) - textLength - @peakR * 2
    else
      text.attr 'x', rightX

    peak = @svg.append 'circle'
      .attr 'class', 'landing-graph__circle'
      .attr 'cy', 0
      .attr 'cx', xScale(@maxElem.date)
      .attr 'r', @peakR

  init: ->

    
    # Define area
    @area = d3.svg.area().interpolate('basis')
      .x (d) =>
        @xScale d.date
      .y0(@height).y1 (d) =>
        @yScale d.users_osu

    # Establishing domain for x/y axes
    @xScale.domain d3.extent(data, (d) ->
      d.date
    )
    @yScale.domain [
      0
      d3.max(data, (d) ->
        d.users_osu
