diff --git a/core/ViewDataTable/Properties.php b/core/ViewDataTable/Properties.php
index b0001be374edb213723c5f45a22ba8c963f0cf6f..947fe51e8de037e0020c9d179d8ca05e1fc53bb8 100644
--- a/core/ViewDataTable/Properties.php
+++ b/core/ViewDataTable/Properties.php
@@ -515,7 +515,7 @@ class Properties
             'export_limit' => Config::getInstance()->General['API_datatable_default_limit'],
             'highlight_summary_row' => false,
             'related_reports' => array(),
-            'title' => 'unknown',
+            'title' => '',
             'tooltip_metadata_name' => false,
             'enable_sort' => true,
             'disable_generic_filters' => false,
diff --git a/core/Visualization/Chart/Evolution.php b/core/Visualization/Chart/Evolution.php
deleted file mode 100644
index 0ad55acb40eb7a38a33bba7d2200093405f798da..0000000000000000000000000000000000000000
--- a/core/Visualization/Chart/Evolution.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/**
- * Piwik - Open source web analytics
- *
- * @link http://piwik.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- *
- * @category Piwik
- * @package Piwik
- */
-
-namespace Piwik\Visualization\Chart;
-
-use Piwik\Visualization\Chart;
-
-/**
- * Customize the Evolution chart style
- *
- * @package Piwik
- * @subpackage Piwik_Visualization
- */
-class Evolution extends Chart
-{
-    const SERIES_COLOR_COUNT = 8;
-
-    public function customizeChartProperties()
-    {
-        parent::customizeChartProperties();
-
-        // if one column is a percentage we set the grid accordingly
-        // note: it is invalid to plot a percentage dataset along with a numeric dataset
-        if ($this->yUnit == '%'
-            && $this->maxValue > 90
-        ) {
-            $this->axes['yaxis']['ticks'] = array(0, 50, 100);
-        }
-    }
-
-    public function setSelectableRows($selectableRows)
-    {
-        $this->seriesPicker['selectableRows'] = $selectableRows;
-    }
-}
\ No newline at end of file
diff --git a/core/Visualization/Chart/Pie.php b/core/Visualization/Chart/Pie.php
deleted file mode 100644
index e0f4a3785706d74705ff90dd4b042aa391569394..0000000000000000000000000000000000000000
--- a/core/Visualization/Chart/Pie.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/**
- * Piwik - Open source web analytics
- *
- * @link http://piwik.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- *
- * @category Piwik
- * @package Piwik
- */
-
-namespace Piwik\Visualization\Chart;
-
-use Piwik\Visualization\Chart;
-
-/**
- * Customize & set values for the Flash Pie chart
- *
- * @package Piwik
- * @subpackage Piwik_Visualization
- */
-class Pie extends Chart
-{
-    function customizeChartProperties()
-    {
-        if (count($this->data) == 0) {
-            return;
-        }
-
-        // make sure we only have one series
-        $series = & $this->series[0];
-        $this->series = array(&$series);
-
-        $data = & $this->data[0];
-        $this->data = array(&$data);
-
-        // we never plot empty pie slices (eg. visits by server time pie chart)
-        foreach ($data as $i => $value) {
-            if ($value <= 0) {
-                unset($data[$i]);
-                unset($this->axes['xaxis']['ticks'][$i]);
-            }
-        }
-        $data = array_values($data);
-        $this->axes['xaxis']['ticks'] = array_values($this->axes['xaxis']['ticks']);
-
-        // prepare percentages for tooltip
-        $sum = array_sum($data);
-        foreach ($data as $i => $value) {
-            $value = (float)$value;
-            $this->tooltip['percentages'][0][$i] = round(100 * $value / $sum);
-        }
-    }
-}
diff --git a/core/Visualization/Chart/VerticalBar.php b/core/Visualization/Chart/VerticalBar.php
deleted file mode 100644
index c6ec8f08d3132a0fc144f5fdaa62d61d850b97cc..0000000000000000000000000000000000000000
--- a/core/Visualization/Chart/VerticalBar.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/**
- * Piwik - Open source web analytics
- *
- * @link http://piwik.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- *
- * @category Piwik
- * @package Piwik
- */
-
-namespace Piwik\Visualization\Chart;
-
-use Piwik\Visualization\Chart;
-
-/**
- * Customize & set values for the Vertical bar chart
- *
- * @package Piwik
- * @subpackage Piwik_Visualization
- */
-class VerticalBar extends Chart
-{
-    public function customizeChartProperties()
-    {
-        parent::customizeChartProperties();
-
-        if ($this->displayPercentageInTooltip) {
-            foreach ($this->data as $seriesIndex => &$series) {
-                $sum = array_sum($series);
-
-                foreach ($series as $valueIndex => $value) {
-                    $value = (float)$value;
-
-                    $percentage = 0;
-                    if ($sum > 0) {
-                        $percentage = round(100 * $value / $sum);
-                    }
-
-                    $this->tooltip['percentages'][$seriesIndex][$valueIndex] = $percentage;
-                }
-            }
-        }
-    }
-}
diff --git a/plugins/CoreHome/DataTableRowAction/RowEvolution.php b/plugins/CoreHome/DataTableRowAction/RowEvolution.php
index 081b9ad3747cdc2d0ee17b736f921feaa5c9e830..b1fbc50acfe9ed0bdeb0b50e48a9c0162149bdd5 100644
--- a/plugins/CoreHome/DataTableRowAction/RowEvolution.php
+++ b/plugins/CoreHome/DataTableRowAction/RowEvolution.php
@@ -18,7 +18,7 @@ use Piwik\Metrics;
 use Piwik\Date;
 use Piwik\ViewDataTable;
 use Piwik\Url;
-use Piwik\Visualization\Chart\Evolution;
+use Piwik\Visualization\Chart;
 use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Evolution as EvolutionViz;
 
 /**
@@ -219,8 +219,6 @@ class RowEvolution
      */
     protected function getMetricsToggles()
     {
-        $chart = new Evolution;
-
         $i = 0;
         $metrics = array();
         foreach ($this->availableMetrics as $metric => $metricData) {
diff --git a/plugins/CoreVisualizations/JqplotDataGenerator.php b/plugins/CoreVisualizations/JqplotDataGenerator.php
index 3ff261692f0b6e797be5e0897a099cb0e8d8abec..dbc2e31079166f4d780c3f76367836c19d6eeb3f 100644
--- a/plugins/CoreVisualizations/JqplotDataGenerator.php
+++ b/plugins/CoreVisualizations/JqplotDataGenerator.php
@@ -16,6 +16,7 @@ use Piwik\Common;
 use Piwik\Metrics;
 use Piwik\DataTable;
 use Piwik\Visualization;
+use Piwik\Plugins\CoreVisualizations\JqplotDataGenerator\Chart;
 
 require_once PIWIK_INCLUDE_PATH . '/plugins/CoreVisualizations/JqplotDataGenerator/Evolution.php';
 
@@ -54,11 +55,8 @@ class JqplotDataGenerator
             case 'evolution':
                 return new JqplotDataGenerator\Evolution($properties);
             case 'pie':
-                $visualization = new Visualization\Chart\Pie();
-                return new JqplotDataGenerator($visualization, $properties);
             case 'bar':
-                $visualization = new Visualization\Chart\VerticalBar();
-                return new JqplotDataGenerator($visualization, $properties);
+                return new JqplotDataGenerator($properties);
             default:
                 throw new Exception("Unknown JqplotDataGenerator type '$type'.");
         }
@@ -70,9 +68,9 @@ class JqplotDataGenerator
      * @param Visualization\ $visualization
      * @param array $properties
      */
-    public function __construct($visualization, $properties)
+    public function __construct($properties)
     {
-        $this->visualization = $visualization;
+        $this->visualization = new Chart();
         $this->properties = $properties;
     }
 
diff --git a/core/Visualization/Chart.php b/plugins/CoreVisualizations/JqplotDataGenerator/Chart.php
similarity index 86%
rename from core/Visualization/Chart.php
rename to plugins/CoreVisualizations/JqplotDataGenerator/Chart.php
index b580f78e1c2ce8870c5f57f5737f34229d4d4926..232982c3d399838e0848ff2b218b87bec4704ebe 100644
--- a/core/Visualization/Chart.php
+++ b/plugins/CoreVisualizations/JqplotDataGenerator/Chart.php
@@ -5,24 +5,19 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  *
- * @category Piwik
- * @package Piwik
+ * @category Piwik_Plugins
+ * @package CoreVisualizations
  */
-namespace Piwik\Visualization;
+namespace Piwik\Plugins\CoreVisualizations\JqplotDataGenerator;
 
 use Piwik\Piwik;
 use Piwik\Common;
-use Piwik\View\ViewInterface;
 
 /**
  * Generates the data in the Open Flash Chart format, from the given data.
- *
- * @package Piwik
- * @subpackage Piwik_Visualization
  */
-abstract class Chart implements ViewInterface
+class Chart
 {
-
     // the data kept here conforms to the jqplot data layout
     // @see http://www.jqplot.com/docs/files/jqPlotOptions-txt.html
     protected $series = array();
@@ -32,7 +27,6 @@ abstract class Chart implements ViewInterface
     protected $seriesPicker = array();
 
     // other attributes (not directly used for jqplot)
-    protected $maxValue;
     protected $yUnit = '';
     protected $displayPercentageInTooltip = true;
     protected $xSteps = 2;
@@ -168,7 +162,6 @@ abstract class Chart implements ViewInterface
             'seriesPicker' => &$this->seriesPicker
         );
 
-        Piwik_PostEvent('Visualization_Chart.render', array(&$data));
         return Common::json_encode($data);
     }
 
@@ -183,5 +176,27 @@ abstract class Chart implements ViewInterface
                 }
             }
         }
+
+        if ($this->displayPercentageInTooltip) {
+            foreach ($this->data as $seriesIndex => &$series) {
+                $sum = array_sum($series);
+
+                foreach ($series as $valueIndex => $value) {
+                    $value = (float)$value;
+
+                    $percentage = 0;
+                    if ($sum > 0) {
+                        $percentage = round(100 * $value / $sum);
+                    }
+
+                    $this->tooltip['percentages'][$seriesIndex][$valueIndex] = $percentage;
+                }
+            }
+        }
+    }
+
+    public function setSelectableRows($selectableRows)
+    {
+        $this->seriesPicker['selectableRows'] = $selectableRows;
     }
-}
+}
\ No newline at end of file
diff --git a/plugins/CoreVisualizations/JqplotDataGenerator/Evolution.php b/plugins/CoreVisualizations/JqplotDataGenerator/Evolution.php
index fa1ddeb472ae0a63a6cf5b63980163a6d16474a8..05ff6ab3b3029b0dc7a6957bb58dfa9a0c7c479c 100644
--- a/plugins/CoreVisualizations/JqplotDataGenerator/Evolution.php
+++ b/plugins/CoreVisualizations/JqplotDataGenerator/Evolution.php
@@ -25,16 +25,6 @@ class Evolution extends JqplotDataGenerator
 {
     protected $rowPickerConfig = array();
 
-    /**
-     * Constructor.
-     *
-     * @param array $properties
-     */
-    public function __construct($properties)
-    {
-        parent::__construct(new \Piwik\Visualization\Chart\Evolution(), $properties);
-    }
-
     /**
      * @param DataTable|DataTable\Map $dataTable
      */
diff --git a/plugins/CoreVisualizations/Visualizations/JqplotGraph.php b/plugins/CoreVisualizations/Visualizations/JqplotGraph.php
index 5a875dc369f8c452f21517968f6b2007381373ea..b70da6679aa85d14e5cdd0bfbccf38eea00cb6e9 100644
--- a/plugins/CoreVisualizations/Visualizations/JqplotGraph.php
+++ b/plugins/CoreVisualizations/Visualizations/JqplotGraph.php
@@ -26,7 +26,6 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/CoreVisualizations/Visualizations/Jq
  */
 class JqplotGraph extends DataTableVisualization
 {
-    const DEFAULT_GRAPH_HEIGHT = 250;
     const ID = 'jqplot_graph';
 
     /**
@@ -70,16 +69,6 @@ class JqplotGraph extends DataTableVisualization
      */
     const ADD_TOTAL_ROW = 'add_total_row';
 
-    /**
-     * The CSS width of the graph. (eg, '100px').
-     */
-    const GRAPH_WIDTH = 'graph_width';
-
-    /**
-     * The CSS height of the graph. (eg, '100px').
-     */
-    const GRAPH_HEIGHT = 'graph_height';
-
     /**
      * Controls whether the Series Picker is shown or not. The Series Picker allows users to
      * choose between displaying data of different columns.
@@ -161,8 +150,6 @@ class JqplotGraph extends DataTableVisualization
                     'allow_multi_select_series_picker' => true,
                     'max_graph_elements' => false,
                     'selectable_columns' => $selectableColumns,
-                    'graph_width' => '100%',
-                    'graph_height' => self::DEFAULT_GRAPH_HEIGHT . 'px',
                     'external_series_toggle' => false,
                     'external_series_toggle_show_all' => false,
                     'show_series_picker' => true,
diff --git a/plugins/CoreVisualizations/Visualizations/JqplotGraph/Evolution.php b/plugins/CoreVisualizations/Visualizations/JqplotGraph/Evolution.php
index d680fefea4dd18cb5431163b34a2ac4ac31b1eda..834bf798e48049ebee1895a80326c3fc3b7fb162 100644
--- a/plugins/CoreVisualizations/Visualizations/JqplotGraph/Evolution.php
+++ b/plugins/CoreVisualizations/Visualizations/JqplotGraph/Evolution.php
@@ -25,7 +25,6 @@ class Evolution extends JqplotGraph
 {
     const ID = 'graphEvolution';
     
-    const GRAPH_HEIGHT = 170;
     const SERIES_COLOR_COUNT = 8;
 
     public function __construct($view)
@@ -50,7 +49,6 @@ class Evolution extends JqplotGraph
         $result['show_table'] = false;
         $result['show_table_all_columns'] = false;
         $result['hide_annotations_view'] = false;
-        $result['visualization_properties']['graphEvolution']['graph_height'] = self::GRAPH_HEIGHT . 'px';
         return $result;
     }
 
diff --git a/plugins/CoreVisualizations/Visualizations/JqplotGraph/Pie.php b/plugins/CoreVisualizations/Visualizations/JqplotGraph/Pie.php
index 8b5e6ec70783687e4a7b547cef0f32ba46d81292..4ddc0449b2099eb313c01cde549ec812117b2994 100644
--- a/plugins/CoreVisualizations/Visualizations/JqplotGraph/Pie.php
+++ b/plugins/CoreVisualizations/Visualizations/JqplotGraph/Pie.php
@@ -21,6 +21,27 @@ class Pie extends JqplotGraph
 {
     const ID = 'graphPie';
 
+    public function __construct($view)
+    {
+        parent::__construct($view);
+        $view->visualization_properties->show_all_ticks = true;
+    }
+
+    public function render($dataTable, $properties)
+    {
+        // make sure only one non-label column is displayed
+        $metricColumn = false;
+        foreach ($properties['columns_to_display'] as $column) {
+            if ($column != 'label') {
+                $metricColumn = $column;
+                break;
+            }
+        }
+        $properties['columns_to_display'] = array($metricColumn ?: 'nb_visits');
+
+        return parent::render($dataTable, $properties);
+    }
+
     public static function getDefaultPropertyValues()
     {
         $result = parent::getDefaultPropertyValues();
diff --git a/plugins/CoreVisualizations/stylesheets/dataTableVisualizations.less b/plugins/CoreVisualizations/stylesheets/dataTableVisualizations.less
index 5ae202f36fce054f7c4fc91a3e3078a390c4f7bf..589278a6f4d68300c545e69b095434912a5030a8 100644
--- a/plugins/CoreVisualizations/stylesheets/dataTableVisualizations.less
+++ b/plugins/CoreVisualizations/stylesheets/dataTableVisualizations.less
@@ -13,6 +13,16 @@
     min-height: 1px;
 }
 
-.dataTableVizEvolution > .dataTableWrapper {
-    width: 100%;
+.piwik-graph {
+    height: 250px;
+}
+
+.dataTableVizEvolution {
+    > .dataTableWrapper {
+        width: 100%;
+    }
+
+    .piwik-graph {
+        height: 170px;
+    }
 }
\ No newline at end of file
diff --git a/plugins/CoreVisualizations/templates/_dataTableViz_jqplotGraph.twig b/plugins/CoreVisualizations/templates/_dataTableViz_jqplotGraph.twig
index e980275ac6432eb71a257a4d588ed53d4c28d141..15f1a0e34fa7ac0f41cb8b653e29da0639391299 100644
--- a/plugins/CoreVisualizations/templates/_dataTableViz_jqplotGraph.twig
+++ b/plugins/CoreVisualizations/templates/_dataTableViz_jqplotGraph.twig
@@ -1,6 +1,5 @@
 <div class="jqplot-graph">
     <div class="piwik-graph"
-        style="width: {{ properties.visualization_properties.graph_width }}; height: {{ properties.visualization_properties.graph_height }};"
         data-data="{{ data|e('html') }}"
         {% if properties.visualization_properties.external_series_toggle %}
         data-external-series-toggle="{{ properties.visualization_properties.external_series_toggle }}"