/// <summary> /// Interval axis initializer. /// </summary> /// <param name="name">name of interval scaled attribute</param> /// <param name="max"></param> /// <param name="dir"></param> public void Init(IntervalAttributeStats m, AxisDirection dir = AxisDirection.Y) { Init(m as AttributeStats, dir); this.min = m.min; this.max = m.max; this.length = 1f; this.tipped = true; this.ticked = true; CalculateTickResolution(); AssembleIntervalAxis(m); }
public static IntervalAttributeStats CalculateStats(IList <InfoObject> os, int aID, IDictionary <string, string> intervalTranslators) { var measures = new IntervalAttributeStats( CalculateDistribution(os, aID), os[0].ivlVALbyID[aID].name, intervalTranslators[os[0].ivlVALbyID[aID].name], CalculateMin(os, aID), CalculateMax(os, aID) ); return(measures); }
// (TEMPLATE METHOD) protected override void GenerateIntervalTicks(IntervalAttributeStats m) { var tickDir = DefineTickDirection(axisDirection); // Draw ticks for (int i = m.min; i <= m.max; i++) { var tick = Services.instance.Factory2DPrimitives.CreateTick(true); tick.lr.SetPosition(1, tickDir * diameter * 4f); tick.SetDirection(axisDirection); tick.label.text = IntervalValueConverters.Translate(i, m.intervalTranslator); tick.transform.parent = Anchor.transform; tick.transform.localPosition = direction * TransformToAxisSpace(i); ticks.Add(tick); } }
protected abstract void GenerateIntervalTicks(IntervalAttributeStats m);
// (HELPER METHOD) private void AssembleIntervalAxis(IntervalAttributeStats m) { DrawBaseAxis(); GenerateIntervalTicks(m); UpdateLabels(); }