public void updatePlot() {
		// Removes the plot data
		ChartData.removeAllData();

		// Remove the clusters selection and click
		clickedClusterId = -1;
		mouseOverClusterId = -1;

		// Update the plot data
		Collection<CentroidData> centroids = QeAData.getCentroidDataList();
		for (CentroidData centroidData : centroids) {
			ChartData.addData(centroidData.getMeanByIndex(xAttributeIndex),
					centroidData.getMeanByIndex(yAttributeIndex),
					centroidData.getClusterSize(), centroidData.getClusterId());
		}

		// Update the size of the Axis
		if (ChartData.getSize() > 0) {
			// Update Max and Min plot
			float precisionDiff = (float) 0.0001;
			float diffX = (ChartData.maxX - ChartData.minX > precisionDiff) ? (ChartData.maxX - ChartData.minX)
					* (float) 0.1
					: 1;
			float diffY = (ChartData.maxY - ChartData.minY > precisionDiff) ? (ChartData.maxY - ChartData.minY)
					* (float) 0.1
					: 1;

			xMin = ChartData.minX;
			xMax = ChartData.maxX + diffX;
			yMin = ChartData.minY;
			yMax = ChartData.maxY + diffY;
		}
		// Re-Draw...
		mySketch.loop();
	}