/* * PUBLIC METHODS */ ///<summary>Assigns variables to graph and calculates other initial values. Called in Tab Init</summary> public void Init( TabContinuous1Var parentTab, string grUnitName, string grValueFormat, int grNumSigFigs, string grTitle, float grInitMinValue, float grInitMaxValue, bool grAutoYAxis, bool grYHasMetricFormat, bool limitGrPointNum, int maxGrPointNum, bool grHasPointConnectLine, Color grPointColor, Color grPointConnectLineColor) { // set all variables from the tab tab = parentTab; unitName = grUnitName; valueFormat = grValueFormat; numSigFigs = grNumSigFigs; title = grTitle; initialMinValue = grInitMinValue; initialMaxValue = grInitMaxValue; yAxisIsAuto = grAutoYAxis; yHasMetricFormat = grYHasMetricFormat; limitPointNum = limitGrPointNum; // ensure a minimum of 3 values on x axis if (maxGrPointNum < 3) { maxGrPointNum = 3; } maxPointNum = maxGrPointNum; hasPointConnectLine = grHasPointConnectLine; // Create and initialize the Graphing Asset graph, initialize formatting and appearance InitAxisGraphObjects(graphFormatting); // instantiate object for managing Y Axis minimum, maximum and labels. yAutoFuncts = new AxisAutoFunctions(unitIsMetric: yHasMetricFormat); // set appearance variables to appearance object SetAppearance(grPointColor, grPointConnectLineColor); // get y raw section number (using height) and use to process max, min, num ticks, metric prefix yAutoFuncts.SetParams(initialMinValue, initialMaxValue, GetYRawSectNum()); // graph formatting is set and applied to graph SetGraphFormatting(); // set axis labellers to ones accounting for metric units and significant figures graph.yAxis.axisLabelLabeler = CustomYAxisLabelLabeler; graph.xAxis.axisLabelLabeler = CustomXAxisLabelLabeler; // set y axis title offset to not overlap the labels ResetYAxisTitleOffset(graphFormatting); // x axis maximum tick value SetXSectNumAtIntervalIncrease(); //Debug.Log("x sect num at increase: "+ xSectNumAtIntervalIncrease); }
/// <summary> clears all data on the graph, including all counters public override void Clear() { base.Clear(); // reset the x and y auto params to their original values xAutoFuncts.SetParams(initialMinValues.x, initialMaxValues.x, 0); yAutoFuncts.SetParams(initialMinValues.y, initialMaxValues.y, GetYRawSectNum()); // graph formatting is reset and re-applied to graph SetGraphFormatting(); // regression line is reset regSeries.pointValues.Clear(); dataSeries.seriesName = "\tr = ?"; regSeries.seriesName = "\ty = [x expression]"; ResetYAxisTitleOffset(graphFormatting); graph.Refresh(); }
/* * PUBLIC METHODS */ ///<summary>Assigns variables to graph and calculates other initial values. Called in Tab Init</summary> public void Init( TabContinuous2Var parentTab, string grTitle, string grXAxisTitle, string grYAxisTitle, string grXUnitName, string grYUnitName, string grXValueFormat, string grYValueFormat, Vector2Int grNumSigFigs, Vector2 grInitMinValues, Vector2 grInitMaxValues, bool grAutoXAxis, bool grAutoYAxis, bool grXHasMetricFormat, bool grYHasMetricFormat, bool grHasPointConnectLine, bool grHasLineOfBestFit, Color grLineOfBestFitColor, Color grPointColor, Color grPointConnectLineColor) { // set all variables from the tab tab = parentTab; title = grTitle; xAxisTitle = grXAxisTitle; yAxisTitle = grYAxisTitle; xUnitName = grXUnitName; yUnitName = grYUnitName; xValueFormat = grXValueFormat; yValueFormat = grYValueFormat; numSigFigs = grNumSigFigs; initialMinValues = grInitMinValues; initialMaxValues = grInitMaxValues; xAxisIsAuto = grAutoXAxis; yAxisIsAuto = grAutoYAxis; xHasMetricFormat = grXHasMetricFormat; yHasMetricFormat = grYHasMetricFormat; hasPointConnectLine = grHasPointConnectLine; hasLineOfBestFit = grHasLineOfBestFit; lineOfBestFitColor = grLineOfBestFitColor; // Create and initialize the Graphing Asset graph, initialize formatting and appearance InitAxisGraphObjects(graphFormatting); // instantiate objects for managing X and Y Axis minimum, maximum and labels. xAutoFuncts = new AxisAutoFunctions(unitIsMetric: xHasMetricFormat); yAutoFuncts = new AxisAutoFunctions(unitIsMetric: yHasMetricFormat); // set appearance variables to appearance object SetAppearance(grPointColor, grPointConnectLineColor); // get raw section numbers (using dimentions) and use to process max, min, num ticks, metric prefix // (x 'raw' section number setter function not currently working) xAutoFuncts.rawSectNumSetter = GetXRawSectNum; xAutoFuncts.SetParams(initialMinValues.x, initialMaxValues.x, 0); yAutoFuncts.SetParams(initialMinValues.y, initialMaxValues.y, GetYRawSectNum()); // graph formatting is set and applied to graph SetGraphFormatting(); // set axis labellers to ones accounting for metric units and significant figures graph.yAxis.axisLabelLabeler = CustomYAxisLabelLabeler; graph.xAxis.axisLabelLabeler = CustomXAxisLabelLabeler; // set y axis title offset to not overlap the labels ResetYAxisTitleOffset(graphFormatting); // set up regression if enabled. if (hasLineOfBestFit) { AddRegressionSeries(); regression = new RegressionLinePlotter(dataSeries, regSeries); } }