diff --git a/charts.module b/charts.module
index da1980560cbc38ec880099c258cce39aa24171e2..95c1562e59ba6c3d9af5b60eaaaa3eb2901b071c 100644
--- a/charts.module
+++ b/charts.module
@@ -71,10 +71,10 @@ function template_preprocess_views_view_charts(&$variables) {
   $valueField = Util::removeUnselectedFields($valueField);
   $color = $view->style_plugin->options['field_colors'];
 
-  if (0 < count($attachmentView)) {
-    $data = Util::viewsData($view, $valueField, $labelField, $color, $attachmentChartTypeOption[$i]);
-  } else {
-    $data = Util::viewsData($view, $valueField, $labelField, $color, $attachmentChartTypeOption[$i] = NULL);
+  $attachmentCount = count($attachmentView);
+  $data = Util::viewsData($view, $valueField, $labelField, $color, $attachmentChartTypeOption = NULL);
+  for ($i = 0; $i < $attachmentCount; $i++) {
+    $data = Util::viewsData($view, $valueField, $labelField, $color, $attachmentChartTypeOption[$attachmentCount]);
   }
 
   $data = Util::createChartableData($data);
@@ -87,6 +87,8 @@ function template_preprocess_views_view_charts(&$variables) {
     $attachmentId = $attachmentView[$i]->display_handler->display['id'];
     $attachmentDisplay = $view->storage->getDisplay($attachmentId);
     $attachmentDisplayOptions[$i] = $attachmentDisplay['display_options'];
+    // Gets rid of inherit_yaxis issue, but doesn't fix underlying issue.
+    $attachmentDisplayOptions[$i]['inherit_yaxis'] = $view->displayHandlers->get($attachmentId)->options['inherit_yaxis'];
   }
   $seriesData = array_merge($seriesData, $seriesDataAttachment);
   $moduleSelector = new ModuleSelector($library, $categories, $seriesData, $options, $attachmentDisplayOptions, $variables, $chartId);
diff --git a/includes/charts.pages.inc b/includes/charts.pages.inc
index 8b8e97cd6d8e544ca6d51c454e5c257cd979b821..c9affb59691d79f11cea21288d7894259b661657 100644
--- a/includes/charts.pages.inc
+++ b/includes/charts.pages.inc
@@ -255,7 +255,7 @@ function charts_settings_form($form, $defaults = [], $field_options = [], $paren
   if ($field_options) {
     $first_field = key($field_options);
 
-    $form['#theme'] = 'charts_settings_fields';
+    // $form['#theme'] = 'charts_settings_fields';
 
     $form['fields'] = [
       '#title' => t('Charts fields'),
diff --git a/modules/charts_api_example/charts_api_example.module b/modules/charts_api_example/charts_api_example.module
index 2579300dd47b00975b0896511b333dcf277f24b3..ad96ecc54bf2a4da1c3f16019d2c42a0ec7a4bfc 100644
--- a/modules/charts_api_example/charts_api_example.module
+++ b/modules/charts_api_example/charts_api_example.module
@@ -17,7 +17,7 @@ function charts_api_example_help($route_name, RouteMatchInterface $route_match)
     case 'help.page.charts_api_example':
       $output = '';
       $output .= '<h3>' . t('About') . '</h3>';
-      $output .= '<p>' . t('A simple example on how to interact with the Charts Api') . '</p>';
+      $output .= '<p>' . t('A simple example on how to interact with the Charts API') . '</p>';
       return $output;
 
     default:
diff --git a/modules/charts_c3/src/Charts/C3ChartsRender.php b/modules/charts_c3/src/Charts/C3ChartsRender.php
index 36e86d2aafb3f4299d54956b45e7e9cd1c7da482..1931a89f5c7a49f7923c02872ea7a04bca3ca9d8 100644
--- a/modules/charts_c3/src/Charts/C3ChartsRender.php
+++ b/modules/charts_c3/src/Charts/C3ChartsRender.php
@@ -28,12 +28,8 @@ class C3ChartsRender implements ChartsRenderInterface {
    */
   public function charts_render_charts($options, $categories = [], $seriesData = [], $attachmentDisplayOptions = [], &$variables, $chartId) {
     $noAttachmentDisplays = count($attachmentDisplayOptions) === 0;
-    $yAxis = [];
     $types = [];
-    // Sets secondary axis from the first attachment only.
-    if (!$noAttachmentDisplays && $attachmentDisplayOptions[0]['inherit_yaxis'] == 0) {
-      $yAxis[$seriesData[1]['name']] = 'y2';
-    }
+
     // @todo - make this work for more that one attachment.
     for ($i = 1; $i <= count($attachmentDisplayOptions); $i++) {
       if ($attachmentDisplayOptions[$i - 1]['style']['options']['type'] == 'column')
@@ -61,12 +57,23 @@ class C3ChartsRender implements ChartsRenderInterface {
     if ($noAttachmentDisplays > 0) {
       $chartData->setLabels(FALSE);
     }
+
+    // Sets the primary y axis.
+    $yAxis = [];
+    $yAxis[$seriesData[0]['name']] = 'y';
+    $showAxis['show'] = true;
+    $showAxis['label'] = $options['yaxis_title'];
+    $chartAxis->y = $showAxis;
+
+    // Sets secondary axis from the first attachment only.
     if (!$noAttachmentDisplays && $attachmentDisplayOptions[0]['inherit_yaxis'] == 0) {
-      $chartData->axes = $yAxis;
+      $yAxis[$seriesData[1]['name']] = 'y2';
       $showSecAxis['show'] = true;
       $showSecAxis['label'] = $attachmentDisplayOptions[0]['style']['options']['yaxis_title'];
       $chartAxis->y2 = $showSecAxis;
     }
+
+    // Sets the chart type.
     $chartData->setType($options['type']);
     $c3->setData($chartData);
     if ($options['type'] == 'bar') {
diff --git a/modules/charts_google/src/Charts/GoogleChartsRender.php b/modules/charts_google/src/Charts/GoogleChartsRender.php
index bfe5eca99c1367d6d9941dd20ca4a2f91b5e1838..b9d9e534f6dba45e834b84d210b12536bf635d8d 100644
--- a/modules/charts_google/src/Charts/GoogleChartsRender.php
+++ b/modules/charts_google/src/Charts/GoogleChartsRender.php
@@ -25,10 +25,20 @@ class GoogleChartsRender implements ChartsRenderInterface {
    */
   public function charts_render_charts($options, $categories = [], $seriesData = [], $attachmentDisplayOptions = [], &$variables, $chartId) {
 
+    $categoriesCount = count($categories);
+    $seriesCount = count($seriesData);
+
+    // Creates an array of the length of the series data.
+    $dataCount = [];
+    for ($x = 0; $x < $seriesCount; $x++) {
+      $dataCountTemp = count($seriesData[$x]['data']);
+      array_push($dataCount, $dataCountTemp);
+    }
+
     $dataTable = [];
-    for ($j = 0; $j < count($categories); $j++) {
+    for ($j = 0; $j < $categoriesCount; $j++) {
       $rowDataTable = [];
-      for ($i = 0; $i < count($seriesData); $i++) {
+      for ($i = 0; $i < $seriesCount; $i++) {
         $rowDataTabletemp = $seriesData[$i]['data'][$j];
         array_push($rowDataTable, $rowDataTabletemp);
       }
@@ -37,10 +47,9 @@ class GoogleChartsRender implements ChartsRenderInterface {
     }
 
     $dataTableHeader = [];
-    for ($r = 0; $r < count($seriesData); $r++) {
+    for ($r = 0; $r < $seriesCount; $r++) {
       array_push($dataTableHeader, $seriesData[$r]['name']);
     }
-
     array_unshift($dataTableHeader, 'label');
     array_unshift($dataTable, $dataTableHeader);
 
@@ -318,7 +327,7 @@ class GoogleChartsRender implements ChartsRenderInterface {
         $options['legend_position'] = 'none';
         $googleOptions->setLegend($options['legend_position']);
       } else {
-        $googleOptions->setLegendProperty('position', $options['legend_position']);
+        $googleOptions->setLegend($options['legend_position']);
       }
     }
 
diff --git a/modules/charts_highcharts/src/Charts/HighchartsChartsRender.php b/modules/charts_highcharts/src/Charts/HighchartsChartsRender.php
index 3a77a1388552eb87e03e39d4a79e8d89f0ab924b..928792f747032cce28c47750ab9548583f199fd5 100644
--- a/modules/charts_highcharts/src/Charts/HighchartsChartsRender.php
+++ b/modules/charts_highcharts/src/Charts/HighchartsChartsRender.php
@@ -4,7 +4,7 @@ namespace Drupal\charts_highcharts\Charts;
 
 use Drupal\charts\Charts\ChartsRenderInterface;
 use Drupal\charts\Util\Util;
-use Drupal\charts_highcharts\Settings\Highcharts\ChartType;
+use Drupal\charts_highcharts\Settings\Highcharts\Chart;
 use Drupal\charts_highcharts\Settings\Highcharts\ChartTitle;
 use Drupal\charts_highcharts\Settings\Highcharts\Xaxis;
 use Drupal\charts_highcharts\Settings\Highcharts\XaxisTitle;
@@ -40,7 +40,7 @@ class HighchartsChartsRender implements ChartsRenderInterface {
   public function charts_render_charts($options, $categories = [], $seriesData = [], $attachmentDisplayOptions = [], &$variables, $chartId) {
     $noAttachmentDisplays = count($attachmentDisplayOptions) === 0;
 
-    $chart = new ChartType();
+    $chart = new Chart();
     $typeOptions = $options['type'];
     // @todo: make this so that it happens if any display uses donut.
     if ($typeOptions == 'donut'){
@@ -60,6 +60,8 @@ class HighchartsChartsRender implements ChartsRenderInterface {
       }
     }
     $chart->setType($typeOptions);
+    $chart->setWidth($options['width']);
+    $chart->setHeight($options['height']);
     $chartTitle = new ChartTitle();
     $chartTitle->setText($options['title']);
     $chartXaxis = new Xaxis();
diff --git a/modules/charts_highcharts/src/Settings/Highcharts/Chart.php b/modules/charts_highcharts/src/Settings/Highcharts/Chart.php
new file mode 100644
index 0000000000000000000000000000000000000000..b5d3c74aa2fb17673201e3ecce015c337d5574e2
--- /dev/null
+++ b/modules/charts_highcharts/src/Settings/Highcharts/Chart.php
@@ -0,0 +1,73 @@
+<?php
+
+namespace Drupal\charts_highcharts\Settings\Highcharts;
+
+class Chart implements \JsonSerializable {
+  private $type;
+  private $width = NULL ;
+  private $height = NULL ;
+  
+   /**
+   * @return mixed
+   */
+  public function getType() {
+    return $this->type;
+  }
+
+  /**
+   * @param mixed $type
+   */
+  public function setType($type) {
+    $this->type = $type;
+  }
+ /**
+   * @return mixed 
+   */
+  public function getWidth() {
+    return $this->width;
+  }
+  /**
+   * @param mixed $width
+   */
+  public function setWidth($width) {
+    if (empty($width)) {
+     $this->width = NULL;
+    } else {
+    $this->width = (int)$width;
+    }
+  }
+
+  /**
+   * @return mixed 
+   */
+  public function getHeight() {
+    return $this->height;
+  }
+  
+  /**
+   * @param mixed $height
+   */
+ 
+  public function setHeight($height) {
+    if (empty($height)) {
+     $this->height = NULL;
+    } else {
+     $this->height = (int)$height;
+    }
+  }
+  
+  /**
+   * @return array
+   */
+  
+  public function jsonSerialize() {
+    $vars = get_object_vars($this);
+
+    if ($vars['type'] == 'pie' || $vars['type'] == 'donut') {
+      unset($vars['x']);
+    }
+
+    return $vars;
+  }
+
+}
diff --git a/modules/charts_highcharts/src/Settings/Highcharts/ChartType.php b/modules/charts_highcharts/src/Settings/Highcharts/ChartType.php
deleted file mode 100644
index bebba6ffeae74dff3d7d2b1c1d08ca18b668dd8f..0000000000000000000000000000000000000000
--- a/modules/charts_highcharts/src/Settings/Highcharts/ChartType.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-namespace Drupal\charts_highcharts\Settings\Highcharts;
-
-class ChartType implements \JsonSerializable {
-  private $type;
-
-  /**
-   * @return mixed
-   */
-  public function getType() {
-    return $this->type;
-  }
-
-  /**
-   * @param mixed $type
-   */
-  public function setType($type) {
-    $this->type = $type;
-  }
-
-  /**
-   * @return array
-   */
-  public function jsonSerialize() {
-    $vars = get_object_vars($this);
-
-    if ($vars['type'] == 'pie' || $vars['type'] == 'donut') {
-      unset($vars['x']);
-    }
-
-    return $vars;
-  }
-
-}
diff --git a/src/Form/ChartsConfigForm.php b/src/Form/ChartsConfigForm.php
index 3a9c0a96516109075f3450e74c9a09f966c0b065..0cb0f2c6442cd8906d20c16bf93fa214ea624d54 100644
--- a/src/Form/ChartsConfigForm.php
+++ b/src/Form/ChartsConfigForm.php
@@ -191,7 +191,7 @@ class ChartsConfigForm extends ConfigFormBase {
 
     if ($field_options) {
       $first_field = key($field_options);
-      $form['fields']['#theme'] = 'charts_settings_fields';
+      // $form['fields']['#theme'] = 'charts_settings_fields';
       $form['fields']['label_field'] = [
         '#type' => 'radios',
         '#title' => $this->t('Label field'),
diff --git a/src/Plugin/views/style/ChartsPluginStyleChart.php b/src/Plugin/views/style/ChartsPluginStyleChart.php
index 75677997d709d77be6e7b3a61b6175d747f47f15..66e390d255315aaabf3403a4650aceed12750d25 100644
--- a/src/Plugin/views/style/ChartsPluginStyleChart.php
+++ b/src/Plugin/views/style/ChartsPluginStyleChart.php
@@ -283,10 +283,9 @@ class ChartsPluginStyleChart extends StylePluginBase {
       $subview = $this->view->createDuplicate();
       $subview->setDisplay($child_display);
       //   Copy the settings for our axes over to the child view.
+
       foreach ($this->options as $option_name => $option_value) {
-        if (strpos($option_name, 'yaxis') === 0 && $this->view->storage->getDisplay($child_display)['display_options']['inherit_yaxis']) {
-          $subview->display_handler->options['style_options'][$option_name] = $option_value;
-        } elseif (strpos($option_name, 'xaxis') === 0) {
+        if ($this->view->displayHandlers->get($child_display)->options['inherit_yaxis'] === '1') {
           $subview->display_handler->options['style_options'][$option_name] = $option_value;
         }
       }
@@ -306,7 +305,7 @@ class ChartsPluginStyleChart extends StylePluginBase {
       unset($subview);*/
 
       //     Create a secondary axis if needed.
-      if ($this->view->storage->getDisplay($child_display)['display_options']['inherit_yaxis'] !== '1' && isset($subchart['yaxis'])) {
+      if ($this->view->displayHandlers->get($child_display)->options['inherit_yaxis'] !== '1' && isset($subchart['yaxis'])) {
         $chart['secondary_yaxis'] = $subchart['yaxis'];
         $chart['secondary_yaxis']['#opposite'] = TRUE;
       }
@@ -321,7 +320,7 @@ class ChartsPluginStyleChart extends StylePluginBase {
           if ($subchart['#chart_type'] !== $chart['#chart_type']) {
             $chart[$key]['#chart_type'] = $subchart['#chart_type'];
           }
-          if ($this->view->storage->getDisplay($child_display)['display_options']['inherit_yaxis'] !== '1') {
+          if ($this->view->displayHandlers->get($child_display)->options['inherit_yaxis'] !== '1') {
             $chart[$key]['#target_axis'] = 'secondary_yaxis';
           }
         }
@@ -348,6 +347,14 @@ class ChartsPluginStyleChart extends StylePluginBase {
   function getChildrenChartDisplays() {
 
     $children_displays = $this->displayHandler->getAttachedDisplays();
+    foreach ($children_displays as $key => $child) {
+      $display_handler = $this->view->displayHandlers->get($child);
+      //unset disabled & non chart attachments.
+      if ((!$display_handler->isEnabled()) || (strstr($child,'chart_extension') == !true)) {
+        unset($children_displays[$key]);
+      }
+    }
+    $children_displays = array_values($children_displays);
 
     return $children_displays;
   }