private DataQueue[] plotMathExpression(String[] expression, byte averageFlag, boolean xyFlag) {
		int n = model.getTapePointer();
		if (n <= 0)
			return null;
		if (xyFlag) {
			if (expression.length < 2)
				return null;
			FloatQueue x = computeQueue(expression[0], averageFlag);
			FloatQueue[] y = new FloatQueue[expression.length - 1];
			for (int i = 0; i < y.length; i++) {
				y[i] = computeQueue(expression[i + 1], averageFlag);
				y[i].setCoordinateQueue(x);
				y[i].setName(expression[0] + " : " + expression[i + 1]);
			}
			return y;
		}
		FloatQueue[] q = new FloatQueue[expression.length];
		for (int i = 0; i < expression.length; i++) {
			q[i] = computeQueue(expression[i], averageFlag);
			if (q[i] != null)
				q[i].setCoordinateQueue(model.getModelTimeQueue());
		}
		return q;
	}