       registrationDataSeries = (registration, index) ->
         # Return the data series format object.
         key: dataSeriesKey(index)
+        type: 'line'
+        yAxis: 1
         color: REG_COLORS[index % REG_COLORS.length]
         values: coordinates(registration.volumes.images)
 
       # The scan data series configuration.
       scanDataSeries =
         key: 'Scan'
+        type: 'line'
+        yAxis: 1
         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)
+      # Add the bolus arrival bar.
+      bolusArvNdx = scan.session.bolusArrivalIndex
+      if bolusArvNdx?
+        # Extend the bar from the axis to the top.
+        dsIntensities = (_.map(dataSeries.values, 'y') for dataSeries in data)
+        dsMaxIntensities = (_.max(values) for values in dsIntensities)
+        maxIntensity = _.max(dsMaxIntensities)
+        yValues = new Array(scan.volumes.images.length).fill(0)
+        yValues[bolusArvNdx] = maxIntensity
+        values = ({x: i + 1, y: y} for y, i in yValues)
+        bolusDataSeries =
+          key: 'Bolus Arrival'
+          type: 'bar'
+          yAxis: 1
+          color: 'SandyBrown'
+          values: values
+          showMaxMin: false
+        data.push(bolusDataSeries)
 
       # Return the chart configuration.
       options:
         chart:
-          type: 'lineChart'
+          type: 'multiChart'
           forceY: [0]
           yAxis:
             tickFormat: formatIntensity

          tooltip:
            headerFormatter: (volumeNumber) ->
              "Volume #{ volumeNumber }"
      data: data

  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.
