public Chart(String chartTitle, String yAxisLabel, String[] dataSetLabels, int chartWidth, int chartHeight, double minY, double maxY, boolean showPointValues, int numDecimalPlaces, boolean showLegend, boolean showCurrentAverage) {
		super(chartTitle);

		this.showCurrentAverage = showCurrentAverage;
		dataCollection = new ArrayList<XYSeriesCollection>();


		if(showCurrentAverage){
			markers = new Marker[dataSetLabels.length];
			pastData = new LimitedSizeQueue[dataSetLabels.length];

			for(int i = 0; i < pastData.length; i++){
				pastData[i] = new LimitedSizeQueue(MAX_AVERAGE_TO_CALC);
			}
		}



		XYSeriesCollection dataset = createDataset(chartTitle);

		JFreeChart chart = createChart(dataset, chartTitle, yAxisLabel, minY, maxY, showLegend);

		labelFormat = "%." + numDecimalPlaces + "f";

		for(int i = 0; i < dataSetLabels.length; i++){
			createAdditionalDataset(dataSetLabels[i], showPointValues);
		}


		ChartPanel panel = (ChartPanel) new ChartPanel(chart);
		panel.setFillZoomRectangle(true);
		panel.setMouseWheelEnabled(true);

		panel.setPreferredSize(new java.awt.Dimension(chartWidth, chartHeight));

		setContentPane(panel);
	}