Beispiel #1
0
    /*
     * 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);
    }
Beispiel #2
0
 /// <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();
 }
Beispiel #3
0
    /*
     * 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);
        }
    }