public void OnPlot() { series.seriesName = equationStr; series.pointValues.Clear(); string formattedEquationStr = WMG_Util.GetFormattedEquationString(equationStr); List <string> rpnString = WMG_Util.ShuntingYardAlgorithm(formattedEquationStr); for (float i = minX; i <= (maxX + Mathf.Epsilon); i += intervalX) { i = Mathf.Round(i * decimalsMultiplier) / decimalsMultiplier; Vector2 expResult = WMG_Util.ExpressionEvaluator(rpnString, i); if (!float.IsNaN(expResult.y)) { series.pointValues.Add(expResult); } } }