Index: tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartsEngine.java
===================================================================
--- tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartsEngine.java	(revision 1739)
+++ tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartsEngine.java	(revision 1740)
@@ -5,8 +5,8 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.rosuda.REngine.REXPMismatchException;
 import org.txm.chartsengine.core.ChartsEngine;
+import org.txm.chartsengine.core.results.ChartResult;
 import org.txm.chartsengine.r.core.preferences.RChartsEnginePreferences;
-import org.txm.core.preferences.TXMPreferences;
 import org.txm.stat.engine.r.RDevice;
 import org.txm.stat.engine.r.RWorkspaceRenderer;
 import org.txm.statsengine.core.StatException;
@@ -77,12 +77,32 @@
 	/**
 	 * Plots the specified expression using R workspace instance and current charts engine output format.
 	 * @param file
-	 * @param expression
-	 * @param device
+	 * @param cmd
 	 */
-	public void plot(File file, String expression)	{
+	public void plot(File file, String cmd)	{
+		this.plot(file, cmd, null, null, null);
+	}
+	
+	/**
+	 * Plots the specified expression using R workspace instance and current charts engine output format.
+	 * @param file
+	 * @param cmd
+	 * @param result
+	 */
+	public void plot(File file, String cmd, ChartResult result, String title, String subtitle)	{
 		try {
-			RWorkspaceRenderer.getInstance().plot(file, expression, this.rDevice);
+			if(result != null)	{
+				// draw grid
+				if(result.isGridVisible())	{
+					cmd += this.getGridPlotCmd();
+				}
+				// draw title
+				if(result.isTitleVisible())	{
+					cmd += this.getTitlePlotCmd(title);
+					cmd += this.getSubtitlePlotCmd(subtitle);
+				}
+			}
+			RWorkspaceRenderer.getInstance().plot(file, cmd, this.rDevice);
 		}
 		catch(RWorkspaceException e) {
 			// TODO Auto-generated catch block
@@ -98,6 +118,7 @@
 		}
 	}
 	
+	
 	/**
 	 * Returns a string that represents the R command to draw a title.
 	 * @param title
Index: tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartCreator.java
===================================================================
--- tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartCreator.java	(revision 1739)
+++ tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartCreator.java	(revision 1740)
@@ -29,20 +29,17 @@
 	public void updateChart(ChartResult result) {
 	
 		Object chart = result.getChart();
-		// creates a new chart using a new file
+
+		// creates a new chart but using the same file
 		// FIXME: SJ to MD: this case should never happen, if it happens then a bug must fixed at another location
-		// TODO: find the bug then just keep: this.createChartFile(result);
+		// TODO: find the bug then just keep: this.createChartFile(result, (File)chart);
 		if (chart != null && chart instanceof File) {
 			this.createChartFile(result, (File)chart);
 		}
-		// creates a new chart but using the same file
+		// creates a new chart using a new file
 		else {
 			this.createChartFile(result);
 		}
-		
-		// FIXME: using new file
-		//this.createChartFile(resultData, preferencesNode);
-			
 	}
 	
 	@Override
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java	(revision 1739)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java	(revision 1740)
@@ -127,45 +127,24 @@
 		// Toolbar
 		this.chartToolBar = new ChartEditorToolBar(this, this.getFirstLineComposite(), null, SWT.FLAT | SWT.RIGHT);
 		this.getFirstLineComposite().getLayout().numColumns += 1;
-		//this.chartToolBar.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_RED));
 
 		this.exportChartEditorViewButton = this.chartToolBar.getItemByContributionId("exportChartEditorView"); //$NON-NLS-1$
 		this.copyChartViewToClipboardButton = this.chartToolBar.getItemByContributionId("copyChartViewToClipboard"); //$NON-NLS-1$
 		
 		
 		// Advanced tool bar
-		//this.advancedToolBarComposite = new Composite(parent, SWT.NONE);
 		Group group = this.topToolBar.installGroup(ChartsUIMessages.rendering, ChartsUIMessages.showHideRenderingParameters, 
 				"platform:/plugin/org.txm.chartsengine.rcp/icons/show_rendering_parameters.png",  //$NON-NLS-1$
 				"platform:/plugin/org.txm.chartsengine.rcp/icons/hide_rendering_parameters.png", //$NON-NLS-1$
 				false);
 		this.advancedChartToolBar = new AdvancedChartEditorToolBar(this, group, this.getParametersGroupsComposite(), SWT.FLAT);
-		//this.advancedChartToolBar.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
-//		this.advancedToolBarComposite.pack(true);
 
-		// Remove parent composites
-		//TODO MD: hack ?
-		//this.resultArea.dispose();
-		
 		// Chart composite
 		this.chartComposite = SWTChartsComponentsProvider.getComponentsProvider(this.getResult().getChartsEngine()).createComposite(this, this.getResultArea());
 		
 		GridData gd = new GridData(GridData.FILL_BOTH);
-////		gd.grabExcessVerticalSpace = true;
-////		gd.grabExcessHorizontalSpace = true;
-//		//gd.horizontalSpan = 2; // 2 for match the command parameters toolbar AND the chart toolbar
 		this.chartComposite.setLayoutData(gd);
 
-		//this.chartComposite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_RED));
-		
-		//this.getResultArea().setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_YELLOW));
-		
-		//this.parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_RED));
-		
-		// Re-add the bottom toolbar
-		//TODO MD: hack ?
-		//this.bottomToolBar = new TXMEditorToolBar(this, SWT.FLAT, "bottom");
-		
 		// FIXME: open dialog box message if the composite doesn't contain any chart (typically when the charts engine doesn't contain chart creator for the specified result data type)
 //		if(composite.getChart() == null)	{
 //			MessageDialog.openWarning(parent.getShell(), "Warning", "Current charts engine can not create chart for " + this.getResultData().getClass().getSimpleName() + " result type. You can set another charts engine in the preferences.");
@@ -175,9 +154,6 @@
 		//this.composite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
 		//parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
 
-		//this.refresh(false);
-//
-//		}
 		
 		 // subclasses manual creation
 		this.__createPartControl();
Index: tmp/org.txm.partition.core/src/org/txm/partition/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.partition.core/src/org/txm/partition/core/messages/messages_fr.properties	(revision 1739)
+++ tmp/org.txm.partition.core/src/org/txm/partition/core/messages/messages_fr.properties	(revision 1740)
@@ -1,11 +1,21 @@
-#TXM messages generated by the PluginMessagesManager class
-#Tue Dec 18 10:24:08 CET 2018
-cantCreateDimensionsPartitionChartFileChartsEngineColonP0=** Impossible de créer le fichier du graphique de dimensions de partition (moteur de graphiques {0})
-dimensionsColonP0=Dimensions \: {0}
-dimensionsOfTheP0PartitionInTheP1Corpus=Dimensions de la partition {0} dans le corpus {1}
-numberOfWords=Nombre de mots
-part=Partie
-parts=Partie(s)
-RESULT_TYPE=Propriétés
-sortedBySize=trié par taille
-t=t
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#TXM messages generated by the PluginMessagesManager class
+#Tue Dec 18 10:24:08 CET 2018
+
+RESULT_TYPE = Propriétés
+
+cantCreateDimensionsPartitionChartFileChartsEngineColonP0 = ** Impossible de créer le fichier du graphique de dimensions de partition (moteur de graphiques {0})
+
+dimensionsColonP0 = Dimensions : {0}
+
+dimensionsOfTheP0PartitionInTheP1Corpus = Dimensions de la partition {0} dans le corpus {1}
+
+numberOfWords = Nombre de mots
+
+part = Partie
+
+parts = Partie(s)
+
+sortedBySize = triées par taille
+
+t = t
Index: tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/base/Utils.java
===================================================================
--- tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/base/Utils.java	(revision 1739)
+++ tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/base/Utils.java	(revision 1740)
@@ -22,20 +22,8 @@
 	 * @param displayPartsCountInTitle display or not the parts count in chart title
 	 * @return the title string
 	 */
-	public static String createPartitionDimensionsChartTitle(PartitionDimensions partitionDimensions, boolean sortPartsBySize, boolean displayPartsCountInTitle)	{
-
-		String title = PartitionCoreMessages.bind(PartitionCoreMessages.dimensionsOfTheP0PartitionInTheP1Corpus, partitionDimensions.getParent().getSimpleName(), partitionDimensions.getCorpus().getSimpleName());
-
-		// FIXME
-//		if(displayPartsCountInTitle)	{
-//			title += "\n(" +  partitionDimensions.getPartsCount() + " " + PartitionCoreMessages.parts + ")"; //$NON-NLS-1$ //$NON-NLS-3$
-//		}
-//
-//		if(sortPartsBySize) {
-//			title += PartitionCoreMessages.sortedBySize;
-//		}
-
-		return title;
+	public static String createPartitionDimensionsChartTitle(PartitionDimensions partitionDimensions)	{
+		return PartitionCoreMessages.bind(PartitionCoreMessages.dimensionsOfTheP0PartitionInTheP1Corpus, partitionDimensions.getParent().getSimpleName(), partitionDimensions.getCorpus().getSimpleName());
 	}
 
 	
Index: tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/jfreechart/JFCPartitionDimensionsBarChartCreator.java
===================================================================
--- tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/jfreechart/JFCPartitionDimensionsBarChartCreator.java	(revision 1739)
+++ tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/jfreechart/JFCPartitionDimensionsBarChartCreator.java	(revision 1740)
@@ -23,7 +23,7 @@
 import org.txm.searchengine.cqp.corpus.Part;
 
 /**
- * Creates a partition dimensions bar chart from the specified <code>Partition</code> result.
+ * Creates a partition dimensions bar chart from the specified <code>PartitionDimensions</code> result.
  * @author sjacquot
  *
  */
@@ -94,7 +94,7 @@
 		
 		
 		// Create chart title
-		chart.setTitle(Utils.createPartitionDimensionsChartTitle(partitionDimensions, sortPartsBySize, displayPartsCountInTitle));
+		chart.setTitle(Utils.createPartitionDimensionsChartTitle(partitionDimensions));
 		
 		
 		
Index: tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/jfreechart/JFCPartitionDimensionsPieChartCreator.java
===================================================================
--- tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/jfreechart/JFCPartitionDimensionsPieChartCreator.java	(revision 1739)
+++ tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/jfreechart/JFCPartitionDimensionsPieChartCreator.java	(revision 1740)
@@ -18,11 +18,11 @@
 import org.txm.searchengine.cqp.corpus.Part;
 
 /**
- * Creates a partition dimensions pie chart from the specified <code>Partition</code> result.
+ * Creates a partition dimensions pie chart from the specified <code>PartitionDimensions</code> result.
+ * 
  * @author sjacquot
  *
  */
-
 public class JFCPartitionDimensionsPieChartCreator extends JFCChartCreator {
 
 
@@ -85,7 +85,7 @@
 		}
 
 		// Create chart title
-		chart.setTitle(Utils.createPartitionDimensionsChartTitle(partitionDimensions, sortPartsBySize, displayPartsCountInTitle));
+		chart.setTitle(Utils.createPartitionDimensionsChartTitle(partitionDimensions));
 
 		super.updateChart(result);
 		
Index: tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/r/RPartitionDimensionsBarChartCreator.java
===================================================================
--- tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/r/RPartitionDimensionsBarChartCreator.java	(revision 1739)
+++ tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/r/RPartitionDimensionsBarChartCreator.java	(revision 1740)
@@ -14,7 +14,7 @@
 import org.txm.utils.logger.Log;
 
 /**
- * Creates a partition dimensions bar chart from the specified <code>Partition</code> result.
+ * Creates a partition dimensions bar chart from the specified <code>PartitionDimensions</code> result.
  * @author sjacquot
  *
  */
@@ -69,8 +69,6 @@
 			
 			String ylab = PartitionCoreMessages.numberOfWords;
 
-			String cmd = "";
-			
 			// FIXME: margin
 			//cmd += "par(mar=c(5.5,5,5,5));\n"; //$NON-NLS-1$
 			
@@ -79,26 +77,16 @@
 			
 			
 			
-//			cmd += "barplot(" + ssizes + ", col=colors, names.arg=" + snames + //$NON-NLS-1$ //$NON-NLS-2$
+//			String cmd += "barplot(" + ssizes + ", col=colors, names.arg=" + snames + //$NON-NLS-1$ //$NON-NLS-2$
 //					", main=\"" + title + "\", horiz=F, las=2, ylab=\"" + ylab + "\");\n"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 
-			cmd += "barplot(" + ssizes + ", col=colors, names.arg=" + snames + //$NON-NLS-1$ //$NON-NLS-2$
+			String cmd = "barplot(" + ssizes + ", col=colors, names.arg=" + snames + //$NON-NLS-1$ //$NON-NLS-2$
 					", horiz=F, las=2, ylab=\"" + ylab + "\");\n"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			
-			// draw grid
-			if(result.isGridVisible())	{
-				cmd += this.getChartsEngine().getGridPlotCmd();
-			}
 			
-			// draw title
-			if(result.isTitleVisible())	{
-				cmd += this.getChartsEngine().getTitlePlotCmd(Utils.createPartitionDimensionsChartTitle(partitionDimensions, sortPartsBySize, displayPartsCountInTitle));
-			}
-			
 			// plot the chart
-			this.getChartsEngine().plot(file, cmd);
+			this.getChartsEngine().plot(file, cmd, result, Utils.createPartitionDimensionsChartTitle(partitionDimensions), Utils.createPartitionDimensionsChartSubtitle(partitionDimensions, sortPartsBySize, displayPartsCountInTitle));
 			
-			
 		}
 		catch(Exception e) {
 			Log.severe(PartitionCoreMessages.bind(PartitionCoreMessages.cantCreateDimensionsPartitionChartFileChartsEngineColonP0, RChartsEngine.DESCRIPTION) + e);
Index: tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/r/RPartitionDimensionsPieChartCreator.java
===================================================================
--- tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/r/RPartitionDimensionsPieChartCreator.java	(revision 1739)
+++ tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/r/RPartitionDimensionsPieChartCreator.java	(revision 1740)
@@ -3,7 +3,6 @@
 import java.io.File;
 import java.util.List;
 
-import org.txm.chartsengine.core.preferences.ChartsEnginePreferences;
 import org.txm.chartsengine.core.results.ChartResult;
 import org.txm.chartsengine.r.core.RChartCreator;
 import org.txm.chartsengine.r.core.RChartsEngine;
@@ -14,7 +13,8 @@
 import org.txm.utils.logger.Log;
 
 /**
- * Creates a partition dimensions pie chart from the specified <code>Partition</code> result.
+ * Creates a partition dimensions pie chart from the specified <code>PartitionDimensions</code> result.
+ * 
  * @author sjacquot
  *
  */
@@ -56,11 +56,6 @@
 			}
 			ssizes += ")"; //$NON-NLS-1$
 
-			String title = "";
-			if(result.getBooleanParameterValue(ChartsEnginePreferences.SHOW_TITLE))	{
-				title = Utils.createPartitionDimensionsChartTitle(partitionDimensions, sortPartsBySize, displayPartsCountInTitle);
-			}
-			
 			// colors
 			//this.getChartsEngine().setColors(result.getRenderingColorsMode(),  1);
 			// FIXME: one color by part
@@ -70,10 +65,11 @@
 			String ylab = PartitionCoreMessages.numberOfWords;
 
 			String cmd = "pie(" + ssizes + ", col=colors, labels=" + snames + //$NON-NLS-1$ //$NON-NLS-2$
-					", main=\"" + title + "\", horiz=F, las=2, ylab=\"" + ylab + "\")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					", horiz=F, las=2, ylab=\"" + ylab + "\")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 
-			
-			((RChartsEngine) this.chartsEngine).plot(file, cmd);
+			// plot the chart
+			this.getChartsEngine().plot(file, cmd, result, Utils.createPartitionDimensionsChartTitle(partitionDimensions), Utils.createPartitionDimensionsChartSubtitle(partitionDimensions, sortPartsBySize, displayPartsCountInTitle));
+
 		}
 		catch(Exception e) {
 			Log.severe(PartitionCoreMessages.bind(PartitionCoreMessages.cantCreateDimensionsPartitionChartFileChartsEngineColonP0, RChartsEngine.DESCRIPTION) + e);
