public override GameObject CreateAutoTickedAxis(string name, AxisDirection direction, DataSet data)
    {
        GameObject axis       = Instantiate(Axis2DPrefab);
        Axis2D     axis2Dcomp = axis.GetComponent <Axis2D>();

        switch (data.TypeOf(name))
        {
        case LoM.NOMINAL:
            axis2Dcomp.Init(data.nominalStatistics[name], direction);
            break;

        case LoM.ORDINAL:
            axis2Dcomp.Init(data.ordinalStatistics[name], direction);
            break;

        case LoM.INTERVAL:
            axis2Dcomp.Init(data.intervalStatistics[name], direction);
            break;

        default:     // RATIO
            axis2Dcomp.Init(data.rationalStatistics[name], direction);
            break;
        }

        return(axis);
    }
    public override GameObject CreateFixedLengthAutoTickedAxis(string name, float length, AxisDirection direction, DataSet data)
    {
        if (data.TypeOf(name) == LoM.INTERVAL || data.TypeOf(name) == LoM.RATIO)
        {
            return(CreateAutoTickedAxis(name, direction, data));
        }
        else
        {
            GameObject axis       = Instantiate(Axis2DPrefab);
            Axis2D     axis2Dcomp = axis.GetComponent <Axis2D>();

            switch (data.TypeOf(name))
            {
            case LoM.NOMINAL:
                axis2Dcomp.Init(data.nominalStatistics[name], direction, true, length);
                break;

            case LoM.ORDINAL:
                axis2Dcomp.Init(data.ordinalStatistics[name], direction, true, length);
                break;

            default:
                axis = new GameObject("Creation Failed");
                break;
            }

            return(axis);
        }
    }
    public override GameObject CreateAutoTickedAxis(string name, float max, AxisDirection dir = AxisDirection.Y)
    {
        GameObject axis       = Instantiate(Axis2DPrefab);
        Axis2D     axis2Dcomp = axis.GetComponent <Axis2D>();

        axis2Dcomp.Init(name, max, dir);

        return(axis);
    }
    public override GameObject CreateAxis(Color color, string variableName, string variableEntity,
                                          AxisDirection axisDirection, float length, float width = 0.01F, bool tipped = true, bool ticked = false)
    {
        GameObject axis       = Instantiate(Axis2DPrefab);
        Axis2D     axis2Dcomp = axis.GetComponent <Axis2D>();

        axis2Dcomp.Init(new AttributeStats(LoM.RATIO, variableName));
        axis2Dcomp.diameter          = width;
        axis2Dcomp.color             = color;
        axis2Dcomp.labelVariableText = variableName;
        axis2Dcomp.tipped            = tipped;
        axis2Dcomp.length            = length;
        axis2Dcomp.ticked            = ticked;
        axis2Dcomp.UpdateAxis();


        return(axis);
    }