public void NullSeries() { var barChart = new BarChart { Series = null }; barChart.UnsafeRedraw(); var lineChart = new LineChart { Series = null }; lineChart.UnsafeRedraw(); var pieChart = new PieChart { Series = null }; pieChart.UnsafeRedraw(); var stackedChart = new StackedBarChart { Series = null }; stackedChart.UnsafeRedraw(); }
public void MaxEqMinValues() { var vals = new ChartValues <double> { 1, 1 }; var barChart = new BarChart { Series = new SeriesCollection { new BarSeries { Values = vals }, new LineSeries { Values = vals } } }; barChart.UnsafeRedraw(); var lineChart = new LineChart { Series = new SeriesCollection { new LineSeries { Values = vals } } }; lineChart.UnsafeRedraw(); var pieChart = new PieChart { Series = new SeriesCollection { new PieSeries { Values = vals } } }; pieChart.UnsafeRedraw(); var stackedChart = new StackedBarChart { Series = new SeriesCollection { new StackedBarSeries { Values = vals } } }; stackedChart.UnsafeRedraw(); }
private void Redraw(object sender, RoutedEventArgs e) { LineChart.ClearAndPlot(); BarChart.ClearAndPlot(); PieChart.ClearAndPlot(); PieChart1.ClearAndPlot(); StackedBarChart.ClearAndPlot(); ScatterChart.ClearAndPlot(); RadarChart.ClearAndPlot(); }
public void EmptyValues() { var vals = new ChartValues <double>(); var barChart = new BarChart { Series = new SeriesCollection { new BarSeries { Values = vals }, new LineSeries { Values = vals } } }; barChart.UnsafeUpdate(); var lineChart = new LineChart { Series = new SeriesCollection { new LineSeries { Values = vals } } }; lineChart.UnsafeUpdate(); var pieChart = new PieChart { Series = new SeriesCollection { new PieSeries { Values = vals } } }; pieChart.UnsafeUpdate(); var stackedChart = new StackedBarChart { Series = new SeriesCollection { new StackedBarSeries { Values = vals } } }; stackedChart.UnsafeUpdate(); }
public void NullValues() { var barChart = new BarChart { Series = new SeriesCollection { new BarSeries { Values = null }, new LineSeries { Values = null } } }; barChart.UnsafeRedraw(); var lineChart = new LineChart { Series = new SeriesCollection { new LineSeries { Values = null } } }; lineChart.UnsafeRedraw(); var pieChart = new PieChart { Series = new SeriesCollection { new PieSeries { Values = null } } }; pieChart.UnsafeRedraw(); var stackedChart = new StackedBarChart { Series = new SeriesCollection { new StackedBarSeries { Values = null } } }; stackedChart.UnsafeRedraw(); }
private void IsAlive(object sender, RoutedEventArgs e) { if (_isAlive) { _timer.Stop(); _isAlive = false; LineChart.Hoverable = true; LineChart.ClearAndPlot(false); BarChart.Hoverable = true; BarChart.ClearAndPlot(false); StackedBarChart.Hoverable = true; StackedBarChart.ClearAndPlot(false); PieChart.Hoverable = true; PieChart.ClearAndPlot(); PieChart1.Hoverable = true; PieChart1.ClearAndPlot(); ScatterChart.Hoverable = true; ScatterChart.ClearAndPlot(); RadarChart.Hoverable = true; RadarChart.ClearAndPlot(); } else { _timer.Start(); _isAlive = true; LineChart.Hoverable = false; BarChart.Hoverable = false; StackedBarChart.Hoverable = false; PieChart.Hoverable = false; PieChart1.Hoverable = false; ScatterChart.Hoverable = false; ScatterChart.PrimaryAxis.MinValue = null; RadarChart.Hoverable = false; } }
/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param> protected override void SolveInstance(IGH_DataAccess DA) { var Collection = new ObservableCollection <ChartItem>(); string Title = ""; string SubTitle = ""; List <string> Clustertitle = new List <string>(); GH_Structure <GH_Number> treeValues = new GH_Structure <GH_Number>(); //GH_Structure<GH_String> treeNames = new GH_Structure<GH_String>(); List <string> names = new List <string>(); int chartType = 0; //get GH input data bool hasTitle = DA.GetData <string>("Title", ref Title); DA.GetData <string>("SubTitle", ref SubTitle); DA.GetDataList <string>("ClusterTitle", Clustertitle); DA.GetDataTree <GH_Number>("Data", out treeValues); //DA.GetDataTree<GH_String>("Names", out treeNames); DA.GetDataList <string>("Names", names); DA.GetData <int>("Chart Type", ref chartType); ChartBase ChartElem = null; switch (chartType) { case 0: var ColumnCluster = new ClusteredColumnChart(); ChartElem = ColumnCluster; break; case 1: var BarCluster = new ClusteredBarChart(); ChartElem = BarCluster; break; case 2: var ColumnStack = new StackedColumnChart(); ChartElem = ColumnStack; break; case 3: var BarStack = new StackedBarChart(); ChartElem = BarStack; break; case 4: var pieElem = new PieChart(); ChartElem = pieElem; break; default: var defaultElem = new ClusteredBarChart(); ChartElem = defaultElem; break; } //Give the chart its name ChartElem.ChartTitle = Title; ChartElem.ChartSubTitle = SubTitle; // MultiChartModel mcm = new MultiChartModel(); // mcm.Series = new ObservableCollection<SeriesModel>(); for (int i = 0; i < treeValues.Branches.Count; i++) { //package the data into a custom chart model and series List <double> listDouble = treeValues[i].ConvertAll(x => x.Value); SeriesModel vm = new SeriesModel(names.ToList(), listDouble, Clustertitle[i]); ChartSeries series = new ChartSeries(); //We have to set the series data context rather than the whole chart series.DataContext = vm; series.SeriesTitle = Clustertitle[i]; series.DisplayMember = "Category"; series.ValueMember = "Number"; Binding seriesBinding = new Binding(); seriesBinding.Source = vm; seriesBinding.Path = new PropertyPath("Chart"); BindingOperations.SetBinding(series, ChartSeries.ItemsSourceProperty, seriesBinding); ChartElem.Series.Add(series); //Pass data to the chart // mcm.Series.Add(vm); } //Binding seriesSetBinding = new Binding(); //seriesSetBinding.Source = mcm; //seriesSetBinding.Path = new PropertyPath("Series"); //BindingOperations.SetBinding(ChartElem, ChartBase.SeriesSourceProperty, seriesSetBinding); ////Send Data to GH output DA.SetData("MultiChart", new UIElement_Goo(ChartElem, "Chart Elem", InstanceGuid, DA.Iteration)); // DA.SetData("Test","listNames"); }