// (TEMPLATE METHOD) protected override void GenerateNominalTicks(NominalAttributeStats 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; }
/// <summary> /// Nominal axis initializer. /// </summary> public void Init( NominalAttributeStats stats, AxisDirection dir = AxisDirection.Y, bool manualLength = false, float length = 1) { Init(stats as AttributeStats, dir); this.min = 0; this.max = stats.max; if (manualLength) { this.length = length; this.tickResolution = 1f / (stats.numberOfUniqueValues - 1); } else { this.length = .15f * stats.numberOfUniqueValues + .15f; this.tickResolution = .15f; } this.tipped = false; this.ticked = true; AssembleNominalAxis(stats, manualLength, this.tickResolution); }
public static NominalAttributeStats CalculateStats(IList <InfoObject> os, int aID) { var measures = new NominalAttributeStats( CalculateDistribution(os, aID), os[0].nomVALbyID[aID].name); return(measures); }
protected abstract void GenerateNominalTicks(NominalAttributeStats m, bool manualTickRes = false, float tickRes = .15f);
// (HELPER METHOD) private void AssembleNominalAxis(NominalAttributeStats m, bool manualLength = false, float tickRes = .15f) { DrawBaseAxis(); GenerateNominalTicks(m, manualLength, tickRes); UpdateLabels(); }