Exemplo n.º 1
0
        // (TEMPLATE METHOD)
        protected override void GenerateOrdinalTicks(OrdinalAttributeStats m, bool manualTickRes = false, float tickRes = .15f)
        {
            float barGap   = .01f;
            float dim      = m.uniqueValues.Length;
            float gapWidth = (dim - 1) * barGap;
            float barWidth = (length - gapWidth - .1f) / (dim);
            float margin   = .05f + barWidth / 2;

            var tickDir = DefineTickDirection(axisDirection);

            // Draw ticks
            for (int i = 0; i <= m.max; i++)
            {
                var tick = Services.instance.Factory2DPrimitives.CreateTick(true);

                tick.lr.SetPosition(1, tickDir * diameter * 4f);

                tick.SetDirection(axisDirection);
                tick.label.text = m.uniqueValues[i];

                tick.transform.parent = Anchor.transform;

                float offset = margin + i * (barWidth + barGap);
                tick.transform.localPosition = direction * offset;

                ticks.Add(tick);
            }

            base.endOffset = margin;
        }
Exemplo n.º 2
0
        public static OrdinalAttributeStats CalculateStats(IList <InfoObject> os, int aID, IDictionary <int, string> dict)
        {
            var measures = new OrdinalAttributeStats(
                dict,
                CalculateDistribution(os, aID, dict),
                os[0].ordVALbyID[aID].name);

            return(measures);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Ordinal axis initializer.
        /// </summary>
        public void Init(OrdinalAttributeStats m, AxisDirection dir = AxisDirection.Y, bool manualLength = false, float length = 1)
        {
            Init(m as AttributeStats, dir);
            this.min = m.min;
            this.max = m.max;

            if (manualLength)
            {
                this.length         = length;
                this.tickResolution = 1f / (m.numberOfUniqueValues - 1);
            }
            else
            {
                this.length         = .15f * m.numberOfUniqueValues + .15f;
                this.tickResolution = .15f;
            }

            this.tipped = true;
            this.ticked = true;
            AssembleOrdinalAxis(m, manualLength, this.tickResolution);
        }
Exemplo n.º 4
0
 protected abstract void GenerateOrdinalTicks(OrdinalAttributeStats m, bool manualTickRes = false, float tickRes = .15f);
Exemplo n.º 5
0
 // (HELPER METHOD)
 private void AssembleOrdinalAxis(OrdinalAttributeStats m, bool manualLength = false, float tickRes = .15f)
 {
     DrawBaseAxis();
     GenerateOrdinalTicks(m, manualLength, tickRes);
     UpdateLabels();
 }