           tooltip:
             headerFormatter: (volumeNumber) ->
               "Volume #{ volumeNumber }"
+            # Note: due to a svd3 but, valueFormatter doesn't work on a
+            # multichart, although headerFormatter does.
+            #valueFormatter: d3.format('.2f')
       data: data

      registrationDataSeries = (registration, index) ->
        # Return the data series format object.
        key: dataSeriesKey(index)
        color: REG_COLORS[index % REG_COLORS.length]
        values: coordinates(registration.volumes.images)

      # The scan data series configuration.
      scanDataSeries =
        key: 'Scan'
        color: SCAN_COLOR
        values: coordinates(scan.volumes.images)
      # The registration data series.
      regDataSeries = (registrationDataSeries(reg, i) for reg, i in scan.registrations)
      # Combine the scan and registration data series.
      data = [scanDataSeries].concat(regDataSeries)

      # TODO - adapt highlightBolusArrival for ngnvd3 and enable
      #   as the onready callback.
      #   But try out a line/bar combo chart first.
      highlightBolusArrival: (chart) ->
        highlightBolusArrival(scan.session, chart)

      # Return the chart configuration.
      options:
        chart:
          type: 'lineChart'
          forceY: [0]
          yAxis:
            tickFormat: formatIntensity

  intensityChart = ng.module 'qiprofile.intensitychart', []

  intensityChart.factory 'IntensityChart', ->
    # The Y axis value formatter function. If the given intensity
    # value is integral, then this function returns the integer.
    # Otherwise, the value is truncated to two decimal places.
