diff --git a/chart.module b/chart.module
index 3327661..9919037 100644
--- a/chart.module
+++ b/chart.module
@@ -284,6 +284,7 @@ function chart_build($chart) {
       '#bar_size' => '',
       '#countries' => array(),
       '#georange' => '',
+      '#data_series' => 0,
     );
 
     // Allow modules to alter a chart after defaults have been added.
@@ -300,7 +301,7 @@ function chart_build($chart) {
     }
 
     $data = array();
-    $data['chd'] = 't:' . _chart_encode_data($chart['#data']);
+    $data['chd'] = 't' . $chart['#data_series'] . ':' . _chart_encode_data($chart['#data']);
 
     _chart_append('cht',   $chart['#type'],                    $data);
     _chart_append('chs',   $chart['#size'],                    $data);
diff --git a/chart_views/views/chart_views_plugin_style_chart.inc b/chart_views/views/chart_views_plugin_style_chart.inc
index aadd787..5b83fda 100644
--- a/chart_views/views/chart_views_plugin_style_chart.inc
+++ b/chart_views/views/chart_views_plugin_style_chart.inc
@@ -26,6 +26,20 @@ class chart_views_plugin_style_chart extends views_plugin_style {
     $options['data_markers_number_type'] = array('default' => 'f');
     $options['data_markers_decimal_places'] = array('default' => '2');
     $options['data_markers_placement'] = array('default' => 'lb');
+    $options['line_markers'] = array('default' => FALSE);
+    $options['circle_markers'] = array('default' => FALSE);
+    $options['candle_markers'] = array('default' => FALSE);
+    $options['candle_width'] = array('default' => 20);
+    $options['axis_labels'] = array('default' => FALSE);
+    $options['x_top'] = array('default' => FALSE);
+    $options['x_bottom'] = array('default' => FALSE);
+    $options['y_left'] = array('default' => FALSE);
+    $options['y_right'] = array('default' => FALSE);
+    $options['axis_labels_set'] = array('default' => 'none');
+    $options['axis_labels_default_min_value'] = array('default' => '0');
+    $options['axis_labels_default_max_value'] = array('default' => '100');
+    $options['gridlines'] = array('default' => FALSE);
+    $options['gridlines_step_size'] = array('default' => '25');
 
     return $options;
   }
@@ -65,11 +79,271 @@ class chart_views_plugin_style_chart extends views_plugin_style {
       '#required' => TRUE,
       '#default_value' => $this->options['color_scheme'],
     );
+    $form['gridlines'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Append gridlines to the chart'),
+      '#description' => t('Check to display gridlines on the chart'),
+      '#default_value' => $this->options['gridlines'],
+      '#id' => 'edit-gridlines',
+    );
+    $form['x_axis_step_size'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-gridlines' => array(1),
+      ),
+      '#title' => t('X-Axis Step Size'),
+      '#description' => t('Used to calculate how many x grid lines to show on the chart. 100 / step_size = how many grid lines on the chart.'),
+      '#size' => 8,
+      '#default_value' => $this->options['gridlines_step_size'],
+    );
+    $form['y_axis_step_size'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-gridlines' => array(1),
+      ),
+      '#title' => t('Y-Axis Step Size'),
+      '#description' => t('Used to calculate how many y grid lines to show on the chart. 100 / step_size = how many grid lines on the chart.'),
+      '#size' => 8,
+      '#default_value' => $this->options['gridlines_step_size'],
+    );
+    $form['axis_labels'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Append axes to the charts'),
+      '#description' => t('Check to display values on the axis lines, or to change which axes are shown.'),
+      '#default_value' => $this->options['axis_labels'],
+      '#id' => 'edit-axis-labels',
+    );
+    $form['x_bottom'] = array(
+      '#type' => 'checkbox',
+      '#dependency' => array(
+        'edit-axis-labels' => array(1),
+      ),
+      '#title' => t('Append Bottom X-Axis'),
+      '#default_value' => $this->options['x_bottom'],
+      '#id' => 'edit-bottom-x-axis-labels',
+    );
+    $form['x_bottom_set'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-bottom-x-axis-labels' => array(1),
+      ),
+      '#title' => t('Set a Bottom X-Axis'),
+      '#description' => t('Select the Type of Axis Labels that you wish to display on the Bottom X-Axis'),
+      '#options' => array(
+        'range' => t('Value Range Labels'),
+        'field' => t('Custom Field Labels'),
+        'none' => t('None'),
+      ),
+      '#required' => TRUE,
+      '#default_value' => isset($this->options['x_bottom_set']) ? $this->options['x_bottom_set'] : $this->options['axis_labels_set'],
+    );
+    $form['x_bottom_min_value'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-bottom-x-axis-labels' => array(1),
+      ),
+      '#title' => t('Range Min value'),
+      '#description' => t('Set the minimum value for the Bottom X-Axis range, if you wish to set a Value Range Label'),
+      '#size' => 8,
+      '#default_value' => isset($this->options['x_bottom_min_value']) ? $this->options['x_bottom_min_value'] : $this->options['axis_labels_default_min_value'],
+    );
+    $form['x_bottom_max_value'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-bottom-x-axis-labels' => array(1),
+      ),
+      '#title' => t('Range Max Value'),
+      '#description' => t('Set the maximum value for the Bottom X-Axis range, if you wish to set a Value Range Label'),
+      '#size' => 8,
+      '#default_value' => isset($this->options['x_bottom_max_value']) ? $this->options['x_bottom_max_value'] : $this->options['axis_labels_default_max_value'],
+    );
+    $form['x_bottom_custom_field'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-bottom-x-axis-labels' => array(1),
+      ),
+      '#title' => t('Set the Custom Field'),
+      '#description' => t('Select the field to be displayed as Labels, if you wish to set a Custom Field Label'),
+      '#options' => $this->field_names(),
+      '#default_value' => isset($this->options['x_bottom_custom_field']) ? $this->options['x_bottom_custom_field'] : '',
+    );
+    $form['x_top'] = array(
+      '#type' => 'checkbox',
+      '#dependency' => array(
+        'edit-axis-labels' => array(1),
+      ),
+      '#title' => t('Append Top X-Axis'),
+      '#default_value' => $this->options['x_top'],
+      '#id' => 'edit-top-x-axis-labels',
+    );
+    $form['x_top_set'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-top-x-axis-labels' => array(1),
+      ),
+      '#title' => t('Set a Top X-Axis'),
+      '#description' => t('Select the Type of Axis Labels that you wish to display on the Top X-Axis'),
+      '#options' => array(
+        'range' => t('Value Range Labels'),
+        'field' => t('Custom Field Labels'),
+        'none' => t('None'),
+      ),
+      '#required' => TRUE,
+      '#default_value' => isset($this->options['x_top_set']) ? $this->options['x_top_set'] : $this->options['axis_labels_set'],
+    );
+    $form['x_top_min_value'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-top-x-axis-labels' => array(1),
+      ),
+      '#title' => t('Range Min value'),
+      '#description' => t('Set the minimum value for the Top X-Axis range, if you wish to set a Value Range Label'),
+      '#size' => 8,
+      '#default_value' => isset($this->options['x_top_min_value']) ? $this->options['x_top_min_value'] : $this->options['axis_labels_default_min_value'],
+    );
+    $form['x_top_max_value'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-top-x-axis-labels' => array(1),
+      ),
+      '#title' => t('Range Max Value'),
+      '#description' => t('Set the maximum value for the Top X-Axis range, if you wish to set a Value Range Label'),
+      '#size' => 8,
+      '#default_value' => isset($this->options['x_top_max_value']) ? $this->options['x_top_max_value'] : $this->options['axis_labels_default_max_value'],
+    );
+    $form['x_top_custom_field'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-top-x-axis-labels' => array(1),
+      ),
+      '#title' => t('Set the Custom Field'),
+      '#description' => t('Select the field to be displayed as Labels, if you wish to set a Custom Field Label'),
+      '#options' => $this->field_names(),
+      '#default_value' => isset($this->options['x_top_custom_field']) ? $this->options['x_top_custom_field'] : '',
+    );
+    $form['y_left'] = array(
+      '#type' => 'checkbox',
+      '#dependency' => array(
+        'edit-axis-labels' => array(1),
+      ),
+      '#title' => t('Append Left Y-Axis'),
+      '#default_value' => $this->options['y_left'],
+      '#id' => 'edit-left-y-axis-labels',
+    );
+    $form['y_left_set'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-left-y-axis-labels' => array(1),
+      ),
+      '#title' => t('Set a Left Y-Axis'),
+      '#description' => t('Select the Type of Axis Labels that you wish to display on the Left Y-Axis'),
+      '#options' => array(
+        'range' => t('Value Range Labels'),
+        'field' => t('Custom Field Labels'),
+        'none' => t('None'),
+      ),
+      '#required' => TRUE,
+      '#default_value' => isset($this->options['y_left_set']) ? $this->options['y_left_set'] : $this->options['axis_labels_set'],
+    );
+    $form['y_left_min_value'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-left-y-axis-labels' => array(1),
+      ),
+      '#title' => t('Range Min value'),
+      '#description' => t('Set the minimum value for the Left Y-Axis range, if you wish to set a Value Range Label'),
+      '#size' => 8,
+      '#default_value' => isset($this->options['y_left_min_value']) ? $this->options['y_left_min_value'] : $this->options['axis_labels_default_min_value'],
+    );
+    $form['y_left_max_value'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-left-y-axis-labels' => array(1),
+      ),
+      '#title' => t('Range Max Value'),
+      '#description' => t('Set the maximum value for the Left Y-Axis range, if you wish to set a Value Range Label'),
+      '#size' => 8,
+      '#default_value' => isset($this->options['y_left_max_value']) ? $this->options['y_left_max_value'] : $this->options['axis_labels_default_max_value'],
+    );
+    $form['y_left_custom_field'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-left-y-axis-labels' => array(1),
+      ),
+      '#title' => t('Set the Custom Field'),
+      '#description' => t('Select the field to be displayed as Labels, if you wish to set a Custom Field Label'),
+      '#options' => $this->field_names(),
+      '#default_value' => isset($this->options['y_left_custom_field']) ? $this->options['y_left_custom_field'] : '',
+    );
+    $form['y_right'] = array(
+      '#type' => 'checkbox',
+      '#dependency' => array(
+        'edit-axis-labels' => array(1),
+      ),
+      '#title' => t('Append Right Y-Axis'),
+      '#default_value' => $this->options['y_right'],
+      '#id' => 'edit-right-y-axis-labels',
+    );
+    $form['y_right_set'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-right-y-axis-labels' => array(1),
+      ),
+      '#title' => t('Set a Right Y-Axis'),
+      '#description' => t('Select the Type of Axis Labels that you wish to display on the Right Y-Axis'),
+      '#options' => array(
+        'range' => t('Value Range Labels'),
+        'field' => t('Custom Field Labels'),
+        'none' => t('None'),
+      ),
+      '#required' => TRUE,
+      '#default_value' => isset($this->options['y_right_set']) ? $this->options['y_right_set'] : $this->options['axis_labels_set'],
+    );
+    $form['y_right_min_value'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-right-y-axis-labels' => array(1),
+      ),
+      '#title' => t('Range Min value'),
+      '#description' => t('Set the minimum value for the Right Y-Axis range, if you wish to set a Value Range Label'),
+      '#size' => 8,
+      '#default_value' => isset($this->options['y_right_min_value']) ? $this->options['y_right_min_value'] : $this->options['axis_labels_default_min_value'],
+    );
+    $form['y_right_max_value'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-right-y-axis-labels' => array(1),
+      ),
+      '#title' => t('Range Max Value'),
+      '#description' => t('Set the maximum value for the Right Y-Axis range, if you wish to set a Value Range Label'),
+      '#size' => 8,
+      '#default_value' => isset($this->options['y_right_max_value']) ? $this->options['y_right_max_value'] : $this->options['axis_labels_default_max_value'],
+    );
+    $form['y_right_custom_field'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-right-y-axis-labels' => array(1),
+      ),
+      '#title' => t('Set the Custom Field'),
+      '#description' => t('Select the field to be displayed as Labels, if you wish to set a Custom Field Label'),
+      '#options' => $this->field_names(),
+      '#default_value' => isset($this->options['y_right_custom_field']) ? $this->options['y_right_custom_field'] : '',
+    );
     $form['label_append_value'] = array(
       '#type' => 'checkbox',
-      '#title' => t('Append value to label'),
-      '#description' => t('If checked, calculated values will be appended in the chart legend.'),
+      '#title' => t('Append Custom Field Labels for Pie Charts'),
       '#default_value' => $this->options['label_append_value'],
+      '#id' => 'edit-pie-labels',
+    );
+    $form['custom_field'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-pie-labels' => array(1),
+      ),
+      '#title' => t('Set the Custom Field'),
+      '#description' => t('Select the field to be displayed as Labels, if you wish to set a Custom Field Label for the Pie Chart'),
+      '#options' => $this->field_names(),
+      '#default_value' => isset($this->options['custom_field']) ? $this->options['custom_field'] : '',
     );
     $form['legend'] = array(
       '#type' => 'checkbox',
@@ -146,6 +420,111 @@ class chart_views_plugin_style_chart extends views_plugin_style {
       ),
       '#description' => t('Additional placement details describing where to put this marker, in relation to the data point. Bar-Relative markers are applicable only for Bar charts'),
     );
+    $form['line_markers'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Append Line Markers to the Chart'),
+      '#default_value' => $this->options['line_markers'],
+      '#id' => 'edit-line-markers',
+    );
+    $form['line_markers_set'] = array(
+      '#type' => 'select',
+      '#default' => variable_get($this->options['line_markers_set'],array()),
+      '#options' => $this->field_names(),
+      '#dependency' => array(
+        'edit-line-markers' => array(1),
+      ),
+      '#title' => t('Select Data'),
+      '#description' => t('Select the datasets you wish to Append as Line Markers'),
+      '#multiple' => TRUE,
+    );
+    $form['candle_markers'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Append Candlestick Markers to the Chart'),
+      '#default_value' => $this->options['candle_markers'],
+      '#id' => 'edit-candle-markers',
+    );
+    $form['low_field'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-candle-markers' => array(1),
+      ),
+      '#title' => t('Set the Low Value Series of the Chart'),
+      '#description' => t('Select the field to be displayed as Lowest point of the vertical line of the Candle Chart.'),
+      '#options' => $this->field_names(),
+      '#default_value' => isset($this->options['low_field']) ? $this->options['low_field'] : '',
+    );
+    $form['open_field'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-candle-markers' => array(1),
+      ),
+      '#title' => t('Set the Open Value Series of the Chart'),
+      '#description' => t('Select the field to be displayed as Opening point of the main candle of the Candle Chart.'),
+      '#options' => $this->field_names(),
+      '#default_value' => isset($this->options['open_field']) ? $this->options['open_field'] : '',
+    );
+    $form['close_field'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-candle-markers' => array(1),
+      ),
+      '#title' => t('Set the Close Value Series of the Chart'),
+      '#description' => t('Select the field to be displayed as Closing point of the main candle of the Candle Chart.'),
+      '#options' => $this->field_names(),
+      '#default_value' => isset($this->options['close_field']) ? $this->options['close_field'] : '',
+    );
+    $form['high_field'] = array(
+      '#type' => 'select',
+      '#dependency' => array(
+        'edit-candle-markers' => array(1),
+      ),
+      '#title' => t('Set the High Value Series of the Chart'),
+      '#description' => t('Select the field to be displayed as Highest point of the vertical line of the Candle Chart.'),
+      '#options' => $this->field_names(),
+      '#default_value' => isset($this->options['high_field']) ? $this->options['high_field'] : '',
+    );
+    $form['candle_width'] = array(
+      '#type' => 'textfield',
+      '#dependency' => array(
+        'edit-candle-markers' => array(1),
+      ),
+      '#title' => t('Specify Bar Width'),
+      '#description' => t('Specify width of the Candle Bar of the Chart.'),
+      '#size' => 8,
+      '#required' => TRUE,
+      '#default_value' => $this->options['candle_width'],
+    );
+    $form['circle_markers'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Append Circle Markers to the Chart'),
+      '#default_value' => $this->options['circle_markers'],
+      '#id' => 'edit-circle-markers',
+    );
+    $form['circle_markers_set'] = array(
+      '#type' => 'select',
+      '#default' => variable_get($this->options['circle_markers_set'],array()),
+      '#options' => $this->field_names(),
+      '#dependency' => array(
+        'edit-circle-markers' => array(1),
+      ),
+      '#title' => t('Select Data'),
+      '#description' => t('Select the datasets you wish to Append as Circle Markers'),
+      '#multiple' => TRUE,
+    );
+  }
+
+  function field_names() {
+    $field_names = array();
+    $handlers = $this->display->handler->get_handlers('field');
+    foreach ($handlers as $field => $handler) {
+      if ($label = $handler->label()) {
+        $field_names[$field] = $label;
+      }
+      else {
+        $field_names[$field] = $handler->ui_name();
+      }
+    }
+    return $field_names;
   }
 
   function render() {
@@ -166,24 +545,125 @@ class chart_views_plugin_style_chart extends views_plugin_style {
           '#height' => $this->options['height'],
         ),
         '#adjust_resolution' => TRUE,
-        '#data' => array(),
-        '#labels' => array(),
-        '#data_colors' => array(),
         '#shape_markers' => array(),
         '#legends' => $this->options['legend'] ? array() : '',
         '#legend_position' => $this->options['legend'] ? $this->options['legend_position'] : '',
+		'#data' => array(),
+        '#data_series' => 0,
+        '#labels' => array(),
+        '#data_colors' => array(),
+        '#shape_markers' => array(),
+        '#mixed_axis_labels' => array(),
+        '#grid_lines' => $this->options['gridlines'] ? array(
+          '#x_axis_step_size' => $this->options['x_axis_step_size'],
+          '#y_axis_step_size' => $this->options['y_axis_step_size'],
+        ) : '',
       );
 
+	  $base_series = array();
+      $line_series = array();
+      $candle_series = array();
+      $circle_series = array();
+      $base_data_colors = array();
+      $line_data_colors = array();
+
       foreach ($records as $row_index => $row) {
         foreach ($this->view->field as $key => $field) {
           if (!$field->options['exclude']) {
-            $chart['#data'][$field->field_alias][] = (int) $row->{$field->field_alias};
-            $chart['#labels'][] = $field->options['label'] . ($this->options['label_append_value'] ? ': ' . $row->{$field->field_alias} : ''); // @TODO Provide a way to change format.
-            $chart['#data_colors'][$field->field_alias] = chart_unique_color($field->field_alias, $this->options['color_scheme']);
+            $base_series[$field->field_alias][] = $row->{$field->field_alias};
+            $base_data_colors[$field->field_alias] = chart_unique_color($field->field_alias, $this->options['color_scheme']);
+          }
+		  if($this->options['line_markers']) {
+            foreach ($this->options['line_markers_set'] as $k => $v) {
+              if($field->options['field'] == $k) {
+                $line_series['line-'.$field->field_alias][] = $row->{$field->field_alias};
+                $line_data_colors['line-'.$field->field_alias] = chart_unique_color($field->field_alias, $this->options['color_scheme']);
+              }
+            }
+          }
+          if($this->options['candle_markers']) {
+            if($field->options['field'] == $this->options['low_field'])
+              $candle_series['candle-'.$field->field_alias][] = $row->{$field->field_alias};
+            if($field->options['field'] == $this->options['open_field'])
+              $candle_series['candle-'.$field->field_alias][] = $row->{$field->field_alias};
+            if($field->options['field'] == $this->options['close_field'])
+              $candle_series['candle-'.$field->field_alias][] = $row->{$field->field_alias};
+            if($field->options['field'] == $this->options['high_field'])
+              $candle_series['candle-'.$field->field_alias][] = $row->{$field->field_alias};
+          }
+          if($this->options['circle_markers']) {
+            foreach ($this->options['circle_markers_set'] as $k => $v) {
+              if($field->options['field'] == $k) {
+                $circle_series['circle-'.$field->field_alias][] = $row->{$field->field_alias};
+              }
+            }
+          }
+          if($field->options['field'] == $this->options['custom_field'])
+            $chart['#labels'][] = ($this->options['label_append_value'] ? $row->{$field->field_alias} : '');
+          if($this->options['axis_labels']) {
+            if($field->options['field'] == $this->options['x_bottom_custom_field'])
+		          $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = ($this->options['x_bottom_set'] == "field" ? chart_mixed_axis_label($row->{$field->field_alias}) : '');
+            if($field->options['field'] == $this->options['x_top_custom_field'])
+		          $chart['#mixed_axis_labels'][CHART_AXIS_X_TOP][0][] = ($this->options['x_top_set'] == "field" ? chart_mixed_axis_label($row->{$field->field_alias}) : '');
+            if($field->options['field'] == $this->options['y_left_custom_field'])
+		          $chart['#mixed_axis_labels'][CHART_AXIS_Y_LEFT][0][] = ($this->options['y_left_set'] == "field" ? chart_mixed_axis_label($row->{$field->field_alias}) : '');
+            if($field->options['field'] == $this->options['y_right_custom_field'])
+		          $chart['#mixed_axis_labels'][CHART_AXIS_Y_RIGHT][0][] = ($this->options['y_right_set'] == "field" ? chart_mixed_axis_label($row->{$field->field_alias}) : '');
           }
         }
       }
 
+	  $series = 0;
+      foreach($base_series as $key => $value) {
+        foreach($value as $k => $v) {
+          $chart['#data']['base-'.$series][] = $v;
+        }
+        $series++;
+      }
+
+      $colorseries = 0;
+      foreach($base_data_colors as $key => $value) {
+        $chart['#data_colors']['base-'.$colorseries] = $value;
+        $colorseries++;
+      }
+
+      $lineseries = 0;
+      if($this->options['line_markers']) {
+        foreach($line_series as $key => $value) {
+          foreach($value as $k => $v) {
+            $chart['#data']['line-'.$lineseries][] = $v;
+          }
+          $lineseries++;
+        }
+      }
+
+      $candleseries = 0;
+      if($this->options['candle_markers']) {
+        foreach($candle_series as $key => $value) {
+          foreach($value as $k => $v) {
+            $chart['#data']['candle-'.$candleseries][] = $v;
+          }
+          $candleseries++;
+        }
+      }
+
+      $circleseries = 0;
+      if($this->options['circle_markers']) {
+        foreach($circle_series as $key => $value) {
+          foreach($value as $k => $v) {
+            $chart['#data']['circle-'.$circleseries][] = $v;
+          }
+          $circleseries++;
+        }
+      }
+
+	  if($this->options['axis_labels']) {
+        $chart['#mixed_axis_labels'][CHART_AXIS_X_BOTTOM][0][] = $this->options['x_bottom_set'] == "range" ? chart_mixed_axis_range_label($this->options['x_bottom_min_value'], $this->options['x_bottom_max_value']) : '';
+        $chart['#mixed_axis_labels'][CHART_AXIS_Y_LEFT][0][] = $this->options['y_left_set'] == "range" ? chart_mixed_axis_range_label($this->options['y_left_min_value'], $this->options['y_left_max_value']) : '';
+        $chart['#mixed_axis_labels'][CHART_AXIS_X_TOP][0][] = $this->options['x_top_set'] == "range" ? chart_mixed_axis_range_label($this->options['x_top_min_value'], $this->options['x_top_max_value']) : '';
+        $chart['#mixed_axis_labels'][CHART_AXIS_Y_RIGHT][0][] = $this->options['y_right_set'] == "range" ? chart_mixed_axis_range_label($this->options['y_right_min_value'], $this->options['y_right_max_value']) : '';
+      }
+
       foreach ($this->view->field as $key => $field) {
         if (!$field->options['exclude']) {
           if ($this->options['legend'])
@@ -191,6 +671,38 @@ class chart_views_plugin_style_chart extends views_plugin_style {
         }
       }
 
+	  $chart['#data_series'] =  count($chart['#data']) - ($this->options['line_markers'] ? count($this->options['line_markers_set']) : '0') - ($this->options['candle_markers'] ? '4' : '0') - ($this->options['circle_markers'] ? count($this->options['circle_markers_set']) : '0');
+
+	  if($this->options['line_markers']) {
+        $line_series_index = $chart['#data_series'];
+        foreach($this->options['line_markers_set'] as $k => $v) {
+          $chart['#shape_markers'][] = array(
+            '#marker_type' => 'D',
+            '#color' => '0033FF',
+            '#series_index' => $line_series_index,
+            '#opt_which_points' => 0,
+            '#size' => 2,
+            '#opt_z_order' => 0,
+          );
+          $line_series_index++;
+        }
+      }
+
+	  if($this->options['circle_markers']) {
+        $circle_series_index = $chart['#data_series'] + ($this->options['line_markers'] ? count($this->options['line_markers_set']) : '0') + ($this->options['candle_markers'] ? '4' : '0');
+        foreach($this->options['circle_markers_set'] as $k => $v) {
+          $chart['#shape_markers'][] = array(
+            '#marker_type' => 'o',
+            '#color' => 'FF0000',
+            '#series_index' => $circle_series_index,
+            '#opt_which_points' => -1,
+            '#size' => 8,
+            '#opt_z_order' => 0,
+          );
+          $circle_series_index++;
+        }
+      }
+
       $series = 0;
       foreach ($this->view->field as $key => $field) {
         if (!$field->options['exclude']) {
