public RippleLineChartText() { _chartConfig = CreateNewChartConfig(); _showOnlyGraph = false; _xAxis = (TimeAxis)_chartConfig.Options.Scales.XAxes.First(); _yAxis1 = (LinearCartesianAxis)_chartConfig.Options.Scales.YAxes[0]; _yAxis2 = (LinearCartesianAxis)_chartConfig.Options.Scales.YAxes[1]; }
public void UpdateChart() { this.Config.Options.Title.Text = $"Zmienna lingwistyczna {this.parent_variable.Name}: {this.parent_variable.Description}"; LinearCartesianAxis lca = this.Config.Options.Scales.xAxes[0] as LinearCartesianAxis; lca.Ticks.Min = this.parent_variable.Minimum.Value; lca.Ticks.Max = this.parent_variable.Maximum.Value; this.Config.Data.Datasets.Clear(); string[] colors = new[] { "blue", "red", "green", "black", "magenta", "cyan", "brown", "yellow" }; int icolor = 0; foreach (FuzzyValue fval in this.parent_variable.Values) { LineDataset <Point> data_set = new LineDataset <Point> { Label = fval.Name, LineTension = 0, PointRadius = 2, BorderColor = colors[icolor++ % colors.Length], PointHitRadius = 10, BorderWidth = 3, }; if (fval.MembershipType == MembershipFunctionFamily.Trapezoidal) { NamedParameter sl = fval.GetParameter("SuppL"); NamedParameter kl = fval.GetParameter("KernL"); NamedParameter kr = fval.GetParameter("KernR"); NamedParameter sr = fval.GetParameter("SuppR"); data_set.Add(new Point(this.parent_variable.Minimum.Value, 0)); data_set.Add(new Point(sl.Value, 0)); data_set.Add(new Point(kl.Value, 1)); data_set.Add(new Point(kr.Value, 1)); data_set.Add(new Point(sr.Value, 0)); data_set.Add(new Point(this.parent_variable.Maximum.Value, 0)); this.Config.Data.Datasets.Add(data_set); } } }