private void SetupWindSpeedCharts() { AverageWindSpeedChart = new BarChart() { Entries = averageWindSpeedEntries, BackgroundColor = SKColor.Parse(ThemeHelper.GetThemeColor("pageBackgroundColor").ToHex()), LabelTextSize = 32, LabelOrientation = Orientation.Horizontal, ValueLabelOrientation = Orientation.Horizontal, Margin = 20 }; MinWindSpeedChart = new LineChart() { Entries = minWindSpeedEntries, BackgroundColor = SKColor.Parse(Color.Transparent.ToHex()), LabelTextSize = 32, LabelOrientation = Orientation.Horizontal, ValueLabelOrientation = Orientation.Horizontal, LineAreaAlpha = 0, LineSize = 8, Margin = 20 }; MaxWindSpeedChart = new LineChart() { Entries = maxWindSpeedEntries, BackgroundColor = SKColor.Parse(Color.Transparent.ToHex()), LabelTextSize = 32, LabelOrientation = Orientation.Horizontal, ValueLabelOrientation = Orientation.Horizontal, LineAreaAlpha = 0, LineSize = 8, Margin = 20 }; }
protected override void SolveInstance(IGH_DataAccess DA) { string title = ""; List <double> values = new List <double>(); List <string> names = new List <string>(); string textFormat = ""; List <Color> colors = new List <Color>(); DA.GetData(0, ref title); DA.GetDataList(1, values); DA.GetDataList(2, names); DA.GetData(3, ref textFormat); DA.GetDataList(4, colors); BarChart chartObject = new BarChart(); dialogImage = chartObject; PterodactylGrasshopperBitmapGoo GH_bmp = new PterodactylGrasshopperBitmapGoo(); chartObject.BarChartData(true, title, values, names, textFormat, colors, GH_bmp.ReferenceTag); using (Bitmap b = chartObject.ExportBitmap()) { GH_bmp.Value = b.Clone(new Rectangle(0, 0, b.Width, b.Height), b.PixelFormat); GH_bmp.ReportPart = chartObject.Create(); DA.SetData(0, GH_bmp); } }
void GenerateData(int count, BarChart chart) { var baseValue = UnityEngine.Random.Range(0, 1000); var time = new DateTime(2011, 1, 1); var smallBaseValue = 0; for (var i = 0; i < count; i++) { chart.XAxis.AddMultiData(time.ToString("hh:mm:ss")); smallBaseValue = i % 30 == 0 ? UnityEngine.Random.Range(0, 700) : (smallBaseValue + UnityEngine.Random.Range(0, 500) - 250); baseValue += UnityEngine.Random.Range(0, 20) - 10; float value = Mathf.Max( 0, Mathf.Round(baseValue + smallBaseValue) + 3000 ); //var index = i % 100; //var value = (Mathf.Sin(index / 5) * (index / 5 - 10) + index / 6) * 5; value = Mathf.Abs(value); chart.AddMultiData(0, value); time = time.AddSeconds(1); } }
// ================================================= SetBarChart private void SetBarChart () { fVals = new double [nSet, nSegment]; for (int i = 0; i < nSet; i++) { for (int j = 0; j < nSegment; j++) { fVals [i, j] = rand .Next (nSeed) % 1000; } } if (bAfterInit) { texts = PrepareTexts (); } else { texts = Auxi_Common .strDays; } chart = new BarChart (this, rc, fVals, Side .S, texts, TextsDrawingDirection .LTtoRB, //Auxi_Common .strDays Side .E, 1000.0, 0.0, GridOrigin .ByStep, 200.0); chart .Colors = Auxi_Colours .SmoothColorsList (nSet, clrStart, clrEnd); chart .FillCoefficients (0, 0.85); chart .NumScale .Visible = false; chart .TextScale .Visible = false; }
public WeeksViewModel(DateTimeOffset startDate, LocationHistory.Entry[] entries) { StartDate = startDate; EndDate = startDate.AddDays(6); var dayNames = CultureInfo.CurrentCulture.DateTimeFormat.AbbreviatedDayNames; Entries = entries; Chart = new BarChart { MaxValue = 24, AnimationDuration = TimeSpan.FromMilliseconds(300), ValueLabelOrientation = Orientation.Horizontal, LabelOrientation = Orientation.Horizontal, Entries = MoreEnumerable.Sequence(0, 6).Select(x => { var day = StartDate.AddDays(x); var entry = entries.FirstOrDefault(e => e.Day == day) ?? new LocationHistory.Entry() { Day = day }; var dayOfWeek = (int)entry.DayOfWeek; return(new Entry(entry.HoursAtHome) { ValueLabel = entry.HoursAtHome.ToString(), Label = dayNames[dayOfWeek], Color = SKColor.Parse("#2196F3"), }); }) }; }
public ActionResult GraficoFiltrado(int?id, string startDate, string endDate) { LineChart newlineChart = new LineChart(); List <string> shortMonthNameList = new List <string>() { "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic" }; int anioInicio = Convert.ToInt32(startDate.Split('-')[1]); int mesInicio = shortMonthNameList.IndexOf(startDate.Split('-')[0]); int anioFin = Convert.ToInt32(endDate.Split('-')[1]); int mesFin = shortMonthNameList.IndexOf(endDate.Split('-')[0]); tb_Indi_Indicador tb_Indi_Indicador = db.tb_Indi_Indicador.Find(id); List <int?> aniosSelected = tb_Indi_Indicador.tb_Indi_Indicador_Alimentar.Where(t => t.mes_alimentacion >= mesInicio & t.mes_alimentacion <= mesFin).Select(t => t.anio_alimentacion).Distinct().ToList(); object[] datasets = new object[aniosSelected.Count + 1]; int j = 0; foreach (int i in aniosSelected) { BarChart newBarChart = new BarChart(); int minMes = (int)tb_Indi_Indicador.tb_Indi_Indicador_Alimentar.Where(t => t.anio_alimentacion == i).Select(t => t.mes_alimentacion).Min(); int maxMes = (int)tb_Indi_Indicador.tb_Indi_Indicador_Alimentar.Where(t => t.anio_alimentacion == i).Select(t => t.mes_alimentacion).Max(); newBarChart.SetDataFiltrada(tb_Indi_Indicador, i, minMes, maxMes); datasets[j] = newBarChart; } newlineChart.SetData(tb_Indi_Indicador); datasets[aniosSelected.Count] = newlineChart; return(Json(datasets, JsonRequestBehavior.AllowGet)); }
public StatisticCashFlowViewModel(IMvxMessenger messenger, CashFlowDataProvider cashFlowDataProvider, ISettingsManager settingsManager) : base(messenger, settingsManager) { this.cashFlowDataProvider = cashFlowDataProvider; Chart = new BarChart(); }
void GenerateData(int count, BarChart chart) { var baseValue = UnityEngine.Random.Range(0, 1000); var time = new DateTime(2011, 1, 1); var smallBaseValue = 0; for (var i = 0; i < count; i++) { chart.XAxis.AddMultiData(time.ToString("yyyy/MM/dd")); for (int j = 0; j < 2; j++) { smallBaseValue = i % 30 == 0 ? UnityEngine.Random.Range(0, 700) : (smallBaseValue + UnityEngine.Random.Range(0, 500) - 250); baseValue += UnityEngine.Random.Range(0, 20) - 10; float value = Mathf.Max(0, Mathf.Round(baseValue + smallBaseValue) + UnityEngine.Random.Range(1000, 3000)); value = Mathf.Abs(value); chart.AddMultiData(j, value); } time = time.AddDays(1); } }
protected override void ProcessRecord() { var chart = new BarChart(); if (DataMode.HasValue) { chart.DataMode = DataMode.Value; } if (Points != null) { foreach (var point in Points) { chart.Points.Add(point); } } if (Tooltips.IsPresent) { chart.Tooltips = Tooltips.ToBool(); } SetControlProps(chart); WriteObject(chart); }
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 TestChartWidthCanBeRestricted() { var chart = new BarChart { MaximumChartWidth = 10, DataPoints = new[] { new BarChartDataPoint { CategoryName = "Elvis Presley", Value = 21 }, new BarChartDataPoint { CategoryName = "The Beatles ", Value = 17 }, new BarChartDataPoint { CategoryName = "Westlife", Value = 14 }, new BarChartDataPoint { CategoryName = "Cliff Richard", Value = 14 }, new BarChartDataPoint { CategoryName = "Madonna", Value = 13 } } }; chart.WriteToTrace(); }
public void TestDecimalValuesAreRoundedToNearestWhole() { var chart = new BarChart { DataPoints = new[] { new BarChartDataPoint { CategoryName = "United States", Value = 16.2 }, new BarChartDataPoint { CategoryName = "China", Value = 8.4 }, new BarChartDataPoint { CategoryName = "Japan", Value = 6 }, new BarChartDataPoint { CategoryName = "Germany", Value = 3.4 }, new BarChartDataPoint { CategoryName = "France", Value = 2.6 }, new BarChartDataPoint { CategoryName = "United Kingdom", Value = 2.5 } } }; chart.WriteToTrace(); }
public void TestNegativeValuesCanBePlotted() { var chart = new BarChart { DataPoints = new[] { new BarChartDataPoint { CategoryName = "United States", Value = -17.3 }, new BarChartDataPoint { CategoryName = "United Kingdom ", Value = -10.1 }, new BarChartDataPoint { CategoryName = "Germany", Value = -5.7 }, new BarChartDataPoint { CategoryName = "France", Value = -5.3 }, new BarChartDataPoint { CategoryName = "Japan", Value = -3 } } }; chart.WriteToTrace(); }
private void LoadResources() { this.LoadingMessageHUD = "Loading..."; this.IsLoadingHUD = true; this.AppLogic.LoadRandomUsers().ContinueWith((result) => { this.IsLoadingHUD = false; var response = result.Result; if (response.Error == null) { Users = AppLogic.ObservableRandomUsers; GenderChart = new DonutChart() { Entries = AppLogic.GetUsersByGender() }; AgeChart = new BarChart() { Entries = AppLogic.GetUsersByAgeGroup() }; Nationalities = AppLogic.GetUniqueNationalities().ToObservableCollection(); } else { DialogPrompt.ShowMessage(new Prompt() { Title = "Error", Message = response.Error.Message }); } }); }
public override Task Initialize() { _entries = new Entry[] { new Entry(200) { Label = "January", ValueLabel = "200", Color = SKColor.Parse("#266489") }, new Entry(400) { Label = "February", ValueLabel = "400", Color = SKColor.Parse("#68B9C0") }, new Entry(-100) { Label = "March", ValueLabel = "-100", Color = SKColor.Parse("#90D585") } }; MyChart = new BarChart { Entries = _entries }; return(base.Initialize()); }
public void TestVeryLargeValuesAreScaled() { var chart = new BarChart { DataPoints = new[] { new BarChartDataPoint { CategoryName = "China", Value = 1364 }, new BarChartDataPoint { CategoryName = "India", Value = 1244 }, new BarChartDataPoint { CategoryName = "United States", Value = 318 }, new BarChartDataPoint { CategoryName = "Indonesia", Value = 247 }, new BarChartDataPoint { CategoryName = "Brazil", Value = 203 } } }; chart.WriteToTrace(); }
void Start() { barChart = GetComponent <BarChart>(); if (barChart != null) { } }
private void btnGenerate_Click(object sender, EventArgs e) { switch (cmbReportType.Text) { case "Grid": GridReport gR = new GridReport(); gR.setVars(cmbGroupBy.Text, cmbSY.Text); gR.Show(); break; case "Bar Chart": BarChart bC = new BarChart(); bC.setVars(cmbGroupBy.Text, cmbSY.Text); bC.Show(); break; case "Line Chart": LineChart lC = new LineChart(); lC.setVars(cmbGroupBy.Text, cmbSY.Text); lC.Show(); break; case "Pie Chart": PieChart pC = new PieChart(); pC.setVars(cmbGroupBy.Text, cmbSY.Text); pC.Show(); break; } }
public override void Dispose() { base.Dispose(); DisposeTextBlock(TextBlock1); TextBlock1 = null; DisposeTextBlock(TextBlock2); TextBlock2 = null; DisposeTextBlock(TextBlock3); TextBlock3 = null; DisposeTextBlock(TextBlock4); TextBlock4 = null; DisposeTextBlock(TextBlock5); TextBlock5 = null; DisposeTextBlock(TextBlock6); TextBlock6 = null; DisposeTextBlock(TextBlock7); TextBlock7 = null; Button1.Click -= Button_Click_1; DisposeButton(Button1); Button1 = null; BarChart.ClearValue(Grid.BackgroundProperty); BarChart.ClearValue(Grid.PaddingProperty); BarChart.Children.Clear(); BarChart.ColumnDefinitions.Clear(); BarChart.RowDefinitions.Clear(); BarChart = null; }
protected override void SolveInstance(IGH_DataAccess DA) { bool showGraph = false; string title = ""; List <double> values = new List <double>(); List <string> names = new List <string>(); string textFormat = ""; List <Color> colors = new List <Color>(); string path = ""; DA.GetData(0, ref showGraph); DA.GetData(1, ref title); DA.GetDataList(2, values); DA.GetDataList(3, names); DA.GetData(4, ref textFormat); DA.GetDataList(5, colors); DA.GetData(6, ref path); BarChart chartObject = new BarChart(); chartObject.BarChartData(showGraph, title, values, names, textFormat, colors, path); if (showGraph) { chartObject.ShowDialog(); } chartObject.Export(); string reportPart = chartObject.Create(); DA.SetData(0, reportPart); }
/// <summary> /// Add a 3D bar chart to a document. /// </summary> /// public static void Chart3D() { Console.WriteLine("\tChart3D()"); // Creates a document using (var document = DocX.Create(ChartSample.ChartSampleOutputDirectory + @"3DChart.docx")) { // Add a title document.InsertParagraph("3D Chart").FontSize(15d).SpacingAfter(50d).Alignment = Alignment.center; // Create a 3D Bar chart. var c = new BarChart(); c.View3D = true; // Create the data. var brazil = ChartData.CreateBrazilExpenses(); // Create and add series var s1 = new Series("Brazil"); s1.Color = Color.GreenYellow; s1.Bind(brazil, "Category", "Expenses"); c.AddSeries(s1); // Insert chart into document document.InsertParagraph("Expenses(M$) for selected categories in Brazil").FontSize(15).SpacingAfter(10d); document.InsertChart(c); document.Save(); Console.WriteLine("\tCreated: 3DChart.docx\n"); } }
public void SharedSeries() { var sharedSeries = new LineSeries { Values = new ChartValues <double> { 1, 2, 3 } }; var lineChart1 = new BarChart { Series = new SeriesCollection { sharedSeries } }; lineChart1.UnsafeRedraw(); var lineChart2 = new LineChart { Series = new SeriesCollection { sharedSeries } }; lineChart2.UnsafeRedraw(); }
private void ShowCharts() { Chart chart = null; foreach (var item in Dashboards) { switch (item.Type) { case EChartType.BarChart: chart = new BarChart { Entries = GetEntries(item) }; break; case EChartType.PointChart: chart = new PointChart { Entries = GetEntries(item) }; break; case EChartType.LineChart: chart = new LineChart { Entries = GetEntries(item) }; break; case EChartType.DonutChart: chart = new DonutChart { Entries = GetEntries(item) }; break; case EChartType.RadialGaugeChart: chart = new RadialGaugeChart { Entries = GetEntries(item) }; break; case EChartType.RadarChart: chart = new RadarChart { Entries = GetEntries(item) }; break; default: break; } if (chart == null) { continue; } var chartView = new Microcharts.Forms.ChartView { HeightRequest = 140, BackgroundColor = Color.White }; chartView.Chart = chart; lsCharts.Children.Add(chartView); } }
void LoadValueArray(CategoryData data) { BarChart bar = BarObject.GetComponent <BarChart>(); var obj = mParser.GetObject(data.DataObjectName); int size = mParser.GetArraySize(obj); if (size < 0) // this is not an array , show warning { Debug.LogWarning("DataType " + data.DataType + " does not match category " + data.Name); return; } try { for (int i = 0; i < size; i++) { double val = ParseItem(mParser.GetItem(obj, i), null); string group = bar.DataSource.GetGroupName(i); bar.DataSource.SetValue(data.Name, group, val); } } catch (Exception e) { Debug.LogWarning("Data for category " + data.Name + " does not match the specified format. Ended with exception : " + e.ToString()); } }
async protected override void OnAppearing() { base.OnAppearing(); int countCustomer = await App.MySalesDB.Table <CustomersModel>().CountAsync(); int countProduct = await App.MySalesDB.Table <ProductsModel>().CountAsync(); var entries = new[] { new Microcharts.Entry(countCustomer) { Label = "Customers", ValueLabel = countCustomer.ToString(), Color = SKColor.Parse("#266489") }, new Microcharts.Entry(countProduct) { Label = "Products", ValueLabel = countProduct.ToString(), Color = SKColor.Parse("#68B9C0") } }; var chart = new BarChart() { Entries = entries }; this.chartView.Chart = chart; }
private async Task PollValuesAsync() { await Task.Delay(500); // 取得資料 List <ShopAnalysis> cosumes = cosumeService.GetShopsConsumes(); // 將資料轉為圖表物件 IEnumerable <Microcharts.Entry> entries = cosumes.Select((x, i) => new Microcharts.Entry((float)x.ConsumeCount) { Label = (i + 1).ToString(), ValueLabel = x.ConsumeCount.ToString(), Color = ConvertColor(i).ToSKColor() }); var _chart = new BarChart(); // 加入圖表資料 _chart.Entries = entries; // 設定文字大小 _chart.LabelTextSize = 40; // 更新圖表系結屬性 this.Chart = _chart; var list = cosumes.Select((x, i) => new ShopAnalysisViewModel() { ShopName = x.ShopName, ConsumeCount = x.ConsumeCount, CosumeAmount = x.CosumeAmount, ItemColor = ConvertColor(i) }).ToList(); DataList = new ObservableCollection <ShopAnalysisViewModel>(list);; OnPropertyChanged(nameof(Chart)); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); var relLayout = new Android.Widget.RelativeLayout(this); tvX = new TextView(this); tvY = new TextView(this); tvX.Text = "textview xx"; tvY.Text = "textview yy"; mChart = new BarChart(this); mChart.SetDrawBarShadow(false); mChart.SetDrawValueAboveBar(true); mChart.Description.Enabled = true; mChart.SetMaxVisibleValueCount(60); mChart.SetPinchZoom(true); mChart.SetBackgroundColor(Android.Graphics.Color.White); setData(12, 50); relLayout.AddView(mChart, 650, 1000); SetContentView(relLayout); }
private async Task CarregaDespesas() { List <Caixa> caixas = await _caixaService.ListaCaixas(); List <ChartEntry> chartEntries = new List <ChartEntry>(); foreach (Caixa cx in caixas) { float total = 0.0f; try { total = float.Parse(cx.TotalMenosDespesasMenosProximoCaixa); } finally { chartEntries.Add( new ChartEntry(total) { Label = cx.DataCaixa.ToString("dd/MM/yyyy"), ValueLabel = $"R$ {cx.TotalMenosDespesasMenosProximoCaixa}", Color = total < 0.0f ? SKColor.Parse("#FF3366") : SKColor.Parse("#28502E") } ); Chart = new BarChart { Entries = chartEntries, LabelTextSize = 45, ValueLabelOrientation = Orientation.Horizontal, Margin = 60 }; } } }
public override void getBarre() { BarChart barChart = BarChartSpace.Descendants <BarChart>().FirstOrDefault(); barChartSeries1 = barChart.Descendants <BarChartSeries>().FirstOrDefault(); Barre = barChart; }
private static void BarChart() { // Create new document. using (DocX document = DocX.Create(@"docs\BarChart.docx")) { // Create chart. BarChart c = new BarChart(); c.BarDirection = BarDirection.Column; c.BarGrouping = BarGrouping.Standard; c.GapWidth = 400; c.AddLegend(ChartLegendPosition.Bottom, false); // Create data. List <ChartData> company1 = ChartData.CreateCompanyList1(); List <ChartData> company2 = ChartData.CreateCompanyList2(); // Create and add series Series s1 = new Series("Microsoft"); s1.Color = Color.GreenYellow; s1.Bind(company1, "Mounth", "Money"); c.AddSeries(s1); Series s2 = new Series("Apple"); s2.Bind(company2, "Mounth", "Money"); c.AddSeries(s2); // Insert chart into document document.InsertParagraph("Diagram").FontSize(20); document.InsertChart(c); document.Save(); } }
public ItemDetailViewModel(Xamarin.Forms.INavigation navigation, ToDoItemModel item = null) { _navigation = navigation; PomodoroChart = new BarChart() { Entries = new List <Entry>() }; Title = item?.Title; SelectedItem = item; PopulateChart(); Xamarin.Forms.MessagingCenter.Subscribe <PomodoroViewModel, PomodoroItemModel>(this, Consts.AddNewToDoItemStr, (obj, newPomodoroItem) => { Pomodoros.Add(newPomodoroItem); NumberOfPomodoros++; }); DoneButtonTouched = new Xamarin.Forms.Command(async() => { var newItem = await DataStore.SetDoneTodo(SelectedItem.Id); Xamarin.Forms.MessagingCenter.Send(this, Consts.DoneTodoItemStr, newItem); await _navigation.PopAsync(); }); }
public IActionResult ExerciseRecords(ExerciseRecordsChartViewModel model) { if (ModelState.IsValid) { var userId = userManager.GetUserId(HttpContext.User); var dayFrom = DateTime.Now.ToLocalTime(); var dayTo = DateTime.Now.ToLocalTime(); var userHeads = GetUserHead(model); var userSpec = GetUserSpec(userHeads); var userExercises = appContext.Exercises.OrderBy(x => x.Name); StatisticsModel statisticsModel = new StatisticsModel(); List <Point <int, float> > exerciseRecordsRow = statisticsModel.GetExerciseRecords( new UserGeneralData { UserId = userId, DateFrom = dayFrom, DateTo = dayTo, UserSpecs = userSpec, UserHead = userHeads, UserExercises = userExercises }); BarChart <int, float> barChart = new BarChart <int, float>(localizerStatisticController["TittleBarChart"], exerciseRecordsRow, localizerStatisticController); var jsonData = chartProvider.GetBarChart(barChart); var viewModel = new ExerciseRecordsChartViewModel { DayFrom = model.DayFrom, DayTo = model.DayTo, UserId = model.UserId, ChartDataJSON = jsonData }; return(View(viewModel)); } return(RedirectToAction(nameof(ExerciseRecords))); }
public void TestHorizontalGroupedBar() { Chart chart = new BarChart(BarsType.Grouped, BarsDirection.Horizontal, new ChartSize(320, 134), new ChartData(new int[][] { new int[] { 20, 1, 25, 26, 51 }, new int[] { 7, 12, 60, 57, 4 } }) ); string result = chart.ToString(); Assert.IsTrue(result.Contains("cht=bhg")); Assert.IsTrue(result.Contains("chs=320x134")); // ER: TODO: test data }
/// <summary> /// Получить гистограмму "Количество игр по дням". /// </summary> /// <returns>Возвращает гистограмму "Количество игр по дням".</returns> public static BarChart GetGamesCountByDaysBar(IList<DetailedStatistics> detailedStatistics) { var gamesCountByDaysBar = new BarChart(); gamesCountByDaysBar.ComplexData.Labels.AddRange(detailedStatistics.Select(s => s.Date.ToShortDateString())); gamesCountByDaysBar.ComplexData.Datasets.AddRange(new List<ComplexDataset> { new ComplexDataset { Data = detailedStatistics.Select(s => double.Parse(s.Reports.Count().ToString())).ToList(), Label = "Количество игр", FillColor = Colors.Blue, StrokeColor = Colors.Blue, PointColor = Colors.Blue, PointStrokeColor = "#fff", PointHighlightFill = "#fff", PointHighlightStroke = "rgba(220,220,220,1)", } }); gamesCountByDaysBar.ChartConfiguration.Responsive = true; return gamesCountByDaysBar; }
public void TestHorizontalStackedBar() { BarChart chart = new BarChart(BarsType.Stacked, BarsDirection.Horizontal, new ChartSize(400, 240), new ChartData(new int[][] { new int[] { 20, 1, 25, 26, 51 }, new int[] { 7, 12, 60, 57, 4 } }) ); chart.Colors = new ChartColors(new Color[] { Color.DodgerBlue, Color.YellowGreen }); chart.Legend = new ChartLegend(new string[] { "Winter", "Summer" }); chart.BarChartSize = new BarChartSize(18, 1); string result = chart.ToString(); Assert.IsTrue(result.Contains("cht=bhs")); Assert.IsTrue(result.Contains("chs=400x240")); Assert.IsTrue(result.Contains("chdl=Winter|Summer")); Assert.IsTrue(result.Contains("chbh=18,1")); }
private void PlotGraphs() { try { ChartID idSelected; IChart chartToLoad; foreach (Control control in Page.Master.FindControl("MainContent").Controls) { if (control.GetType().Name == "ChartLiteral") { SandlerControls.ChartLiteral literalControl = control as SandlerControls.ChartLiteral; literalControl.Text = ""; idSelected = (ChartID)Enum.Parse(typeof(ChartID), literalControl.ID, true); ChartRepository cR = new ChartRepository(); SandlerModels.TBL_CHART dbChart = cR.GetAll().Where(c => c.ChartID == literalControl.ID && c.IsActive == true).SingleOrDefault(); if (dbChart.TypeOfChart == "Chart") { chartToLoad = new Chart() { BGAlpha = dbChart.BgAlpha, BGColor = dbChart.BgColor, CanvasBGAlpha = dbChart.CanvasBgAlpha, CanvasBGColor = dbChart.CanvasBgColor, Caption = dbChart.Caption, SWF = dbChart.SWFile, NumberSuffix = dbChart.NumberSuffix, PieRadius = dbChart.PieRadius, showLabels = dbChart.ShowLabels, showLegend = dbChart.ShowLegend, XaxisName = dbChart.XaxisName, YaxisName = dbChart.YaxisName, Id = idSelected, enableRotation = dbChart.EnableRotation, DrillChartIds = (string.IsNullOrEmpty(dbChart.DrillLevelChartIDs)) ? "" : dbChart.DrillLevelChartIDs }; chartToLoad.LoadChart(CurrentUser); chartToLoad.CreateChart(); literalControl.Text = FusionCharts.RenderChart(@"FusionChartLib/" + ((Chart)chartToLoad).SWF, "", ((Chart)chartToLoad).ChartXML, literalControl.ID, literalControl.Width, literalControl.Height, false, true); } else if (dbChart.TypeOfChart == "PieChart") { chartToLoad = new PieChart() { BGAlpha = dbChart.BgAlpha, BGColor = dbChart.BgColor, CanvasBGAlpha = dbChart.CanvasBgAlpha, CanvasBGColor = dbChart.CanvasBgColor, Caption = dbChart.Caption, SWF = dbChart.SWFile, NumberSuffix = dbChart.NumberSuffix, PieRadius = dbChart.PieRadius, showLabels = dbChart.ShowLabels, showLegend = dbChart.ShowLegend, XaxisName = dbChart.XaxisName, YaxisName = dbChart.YaxisName, Id = idSelected, enableRotation = dbChart.EnableRotation, DrillChartIds = (string.IsNullOrEmpty(dbChart.DrillLevelChartIDs)) ? "" : dbChart.DrillLevelChartIDs }; ((PieChart)chartToLoad).LoadChart(CurrentUser); ((PieChart)chartToLoad).CreateChart(); literalControl.Text = FusionCharts.RenderChart(@"FusionChartLib/" + ((PieChart)chartToLoad).SWF, "", ((PieChart)chartToLoad).ChartXML, literalControl.ID, literalControl.Width, literalControl.Height, false, true); } else if (dbChart.TypeOfChart == "BarChart") { chartToLoad = new BarChart() { BGAlpha = dbChart.BgAlpha, BGColor = dbChart.BgColor, CanvasBGAlpha = dbChart.CanvasBgAlpha, CanvasBGColor = dbChart.CanvasBgColor, Caption = dbChart.Caption, SWF = dbChart.SWFile, NumberSuffix = dbChart.NumberSuffix, PieRadius = dbChart.PieRadius, showLabels = dbChart.ShowLabels, showLegend = dbChart.ShowLegend, XaxisName = dbChart.XaxisName, YaxisName = dbChart.YaxisName, Id = idSelected, enableRotation = dbChart.EnableRotation, DrillChartIds = (string.IsNullOrEmpty(dbChart.DrillLevelChartIDs)) ? "" : dbChart.DrillLevelChartIDs }; ((BarChart)chartToLoad).LoadChart(CurrentUser); ((BarChart)chartToLoad).CreateChart(); literalControl.Text = FusionCharts.RenderChart(@"FusionChartLib/" + ((BarChart)chartToLoad).SWF, "", ((BarChart)chartToLoad).ChartXML, literalControl.ID, literalControl.Width, literalControl.Height, false, true); ; } } } } catch (Exception ex) { throw ex; } }
// ------------------------------------------------- Click_btnAddChart private void Click_btnAddChart (object sender, EventArgs e) { int nSegment = Convert .ToInt32 (numericUD_Segments .Value); int nSet = Convert .ToInt32 (numericUD_Sets .Value); double [,] fVal = new double [nSet, nSegment]; for (int i = 0; i < nSet; i++) { for (int j = 0; j < nSegment; j++) { fVal [i, j] = rand .Next (nSeed) % 1000; } } Rectangle rc = new Rectangle (ClientSize .Width / 3, ClientSize .Height / 3, ClientSize .Width / 3, ClientSize .Height / 3); BarChart bc = new BarChart (this, rc, fVal, Side .S, Auxi_Common .strMonths, TextsDrawingDirection .LTtoRB, Side .E, 1000.0, 0.0, GridOrigin .ByStep, 200.0); bc .Colors = clrs; bc .FillCoefficients (0, 0.85); bc .NumScale .ValuesFormat = "F0"; bc .AddComment (0.8, 0.1, "BarChart_" + barcharts .Count .ToString (), new Font ("Times New Roman", 11, FontStyle .Bold), 0, Color .Red); barcharts .Insert (0, bc); RenewMover (); Invalidate (); }
// ------------------------------------------------- DefaultView private void DefaultView () { numericUD_Sets .Location = new Point (50, 410); //, 46, 22); GroupNewChart_RelativePosition (); ClientSize = new Size (info .Area .Right + 12, btnAddChart .Bottom + 20); // (780, 610); // barchart_A // int nSegment = Auxi_Common .strDays .Length; int nSet = 4; double [,] fRandVal = new double [nSet, nSegment]; for (int i = 0; i < nSet; i++) { for (int j = 0; j < nSegment; j++) { fRandVal [i, j] = rand .Next (nSeed) % 100; } } Rectangle rc = new Rectangle (90, 40, 260, 280); BarChart barchart_A = new BarChart (this, rc, fRandVal, Side .W, Auxi_Common .strDays, TextsDrawingDirection .LTtoRB, Side .S, 0.0, 100.0, GridOrigin .ByStep, 25.0); barchart_A .FillCoefficients (0.1, 0.8); barchart_A .NumScale .ValuesFormat = "F0"; barchart_A .AddComment (0.7, 0.15, "BarChart_A", new Font ("Times New Roman", 12, FontStyle .Bold | FontStyle .Italic), 0, Color .Blue); // barchart_B // nSegment = Auxi_Common .strDays .Length - 3; nSet = 6; fRandVal = new double [nSet, nSegment]; for (int i = 0; i < nSet; i++) { for (int j = 0; j < nSegment; j++) { fRandVal [i, j] = rand .Next (nSeed) % 100; } } rc = new Rectangle (260, 180, 460, 385); BarChart barchart_B = new BarChart (this, rc, fRandVal, Side .S, Auxi_Common .strDays, TextsDrawingDirection .LTtoRB, Side .E, 100.0, 0.0, GridOrigin .ByStep, 20.0); barchart_B .FillCoefficients (0, 0.85); barchart_B .NumScale .ValuesFormat = "F0"; barchart_B .AddComment (0.5, 0.1, "BarChart_B", new Font ("Times New Roman", 11, FontStyle .Bold), 0, Color .Red); barcharts .Insert (0, barchart_A); barcharts .Insert (0, barchart_B); }
public void TestVerticalGroupedBar() { Chart chart = new BarChart(BarsType.Grouped, BarsDirection.Vertical, new ChartSize(420, 125), new ChartData(new int[][] { new int[] { 20, 1, 25, 26, 51 }, new int[] { 7, 12, 60, 57, 4 } }) ); chart.Colors = new ChartColors(new Color[] { Color.DodgerBlue, Color.YellowGreen }); chart.Legend = new ChartLegend(new string[] { "Winter", "Summer" }); string result = chart.ToString(); Assert.IsTrue(result.Contains("cht=bvg")); Assert.IsTrue(result.Contains("chs=420x125")); Assert.IsTrue(result.Contains("chdl=Winter|Summer")); // ER: TODO: test data and color }
/// <summary> /// Получить гистограмму "Чистая прибыль". /// </summary> /// <returns>Возвращает гистограмму "Чистая прибыль".</returns> public static BarChart GetNetProfitBar(IList<Statistics> statistics) { var netProfitBar = new BarChart(); netProfitBar.ComplexData.Labels.AddRange(statistics.Select(s => s.MonthName)); netProfitBar.ComplexData.Datasets.AddRange(new List<ComplexDataset> { new ComplexDataset { Data = statistics.Select(s => double.Parse(s.Result.ToString())).ToList(), Label = "Чистая прибыль", FillColor = Colors.Blue, StrokeColor = Colors.Blue, PointColor = Colors.Blue, PointStrokeColor = "#fff", PointHighlightFill = "#fff", PointHighlightStroke = "rgba(220,220,220,1)", } }); netProfitBar.ChartConfiguration.Responsive = true; return netProfitBar; }
/// <summary> /// Получить гистограмму "Доходы и расходы". /// </summary> /// <returns>Возвращает гистограмму "Доходы и расходы".</returns> public static BarChart GetRevenuesAndCostsBar(IList<Statistics> statistics) { var revenuesAndCostsBar = new BarChart(); revenuesAndCostsBar.ComplexData.Labels.AddRange(statistics.Select(s => s.MonthName)); revenuesAndCostsBar.ComplexData.Datasets.AddRange(new List<ComplexDataset> { new ComplexDataset { Data = statistics.Select(s => double.Parse((s.GamesRevenues + s.GiftCertificatesRevenues).ToString())).ToList(), Label = "Доходы", FillColor = Colors.Green, StrokeColor = Colors.Green, PointColor = Colors.Green, PointStrokeColor = "#fff", PointHighlightFill = "#fff", PointHighlightStroke = "rgba(220,220,220,1)", }, new ComplexDataset { Data = statistics.Select(s => double.Parse(s.Expenses.ToString())).ToList(), Label = "Расходы", FillColor = Colors.Red, StrokeColor = Colors.Red, PointColor = Colors.Red, PointStrokeColor = "#fff", PointHighlightFill = "#fff", PointHighlightStroke = "rgba(151,187,205,1)", } }); revenuesAndCostsBar.ChartConfiguration.Responsive = true; return revenuesAndCostsBar; }
// ------------------------------------------------- public SingleElem (PieChart pie) { rotelem = MedleyElem .PieChart; piechart = pie; ringset = null; barchart = null; }
private BarChart GenerateBarChart(BudgetLimitGraphModel data) { // check if enough data for bar chart if (!data.Values.Any()) { return null; } var barChart = new BarChart { ComplexData = { Labels = data.Values.Select(graphData => graphData.Label).ToList(), Datasets = new List<ComplexDataset> { this.GenerateComplexData(data.Values.Select(t => t.BudgetLimit).ToList(), ColorGeneratorConstants.Grey), this.GenerateComplexData(data.Values.Select(t => t.ComputedTransaction).ToList(), ColorGeneratorConstants.Red) } } }; // graph settings for dynamic charts barChart.ChartConfiguration.ScaleBeginAtZero = false; barChart.ChartConfiguration.Responsive = true; return barChart; }
public static Chart CreateChart(ChartType type, ChartModel model) { Chart chart = null; if (type == ChartType.VBAR || type == ChartType.VBAR_STACKED || type == ChartType.BAR_LINE_COMBO || type == ChartType.BAR_AREA_COMBO || type == ChartType.BAR_LINE_AREA_COMBO) { chart = new BarChart(type, model); } else if (type == ChartType.HBAR || type == ChartType.HBAR_STACKED) { chart = new HorizontalBarChart(type, model); } else if( type == ChartType.CYLINDERBAR) { chart = new CylinderBarChart(type, model); } else if (type == ChartType.PIE) { chart = new PieChart(type, model); } else if (type == ChartType.AREA || type == ChartType.AREA_STACKED) { chart = new AreaChart(type, model); } else if (type == ChartType.LINE) { chart = new LineChart(type, model); } else if (type == ChartType.SCATTER_PLOT) { chart = new ScatterPlotChart(type, model); } else if (type == ChartType.XYLINE) { chart = new XYLineChart(type, model); } else if (type == ChartType.RADAR || type == ChartType.RADAR_AREA) { chart = new RadarChart(type, model); } else if (type == ChartType.FUNNEL) { chart = new FunnelChart(type, model); } else if (type == ChartType.SEMI_CIRCULAR_GAUGE) { chart = new SemiCircularGaugeChart(type, model); } else if (type == ChartType.CIRCULAR_GAUGE) { chart = new GaugeChart(type, model); } else if (type == ChartType.CANDLE_STICK) { chart = new CandleStickChart(type, model); } return chart; }
/// <summary> /// Adds the drinks chart to the bootstrapper /// </summary> private void addCharts() { chartBackgroundPlane = BootStrapper.Initialise(ChartsChartbackground) as GameObject; barChartObject = BootStrapper.Initialise(ChartsBarchartStandard) as GameObject; barChartData = barChartObject.GetComponentInChildren<BarChart>(); }
// ------------------------------------------------- public SingleElem (BarChart bc) { rotelem = MedleyElem .BarChart; piechart = null; ringset = null; barchart = bc; }
private void RenderChart() { BarChart chartToLoad = new BarChart() { Width = "100%", Hight = "450", SearchParameter = GAId.ToString(), BGColor = "FFFFFF", CanvasBGAlpha = "100", CanvasBGColor = "FFFFFF", Caption = "ROI", SWF = @"FusionChartLib/Column3D.swf", showLabels = "0", showLegend = "0", YaxisName = "%", Id = ChartID.ReturnOnTrainingInvestment }; chartToLoad.LoadChart(CurrentUser); chartToLoad.CreateChart(); plotChart.ContentTemplateContainer.FindControl("chartContainer").Controls.Add(new LiteralControl(InfoSoftGlobal.FusionCharts.RenderChart(chartToLoad.SWF, "", chartToLoad.ChartXML, "gaChartlots", chartToLoad.Width, chartToLoad.Hight, false, false))); (plotChart.CustomNavigationTemplateContainer.FindControl("lnkBtnPrint") as LinkButton).Visible = true; (plotChart.CustomNavigationTemplateContainer.FindControl("lnkBtnPrint") as LinkButton).OnClientClick = "window.open('ChartPrinter.aspx?drillChartIds=ReturnOnTrainingInvestment&searchParameter=" + GAId + "','_blank','height=450,width=800,status=yes,toolbar=no,scrollbars=yes,menubar=no,location=no');return false;"; }
// ------------------------------------------------- public SingleElem (RingSet rs) { rotelem = MedleyElem .RingSet; piechart = null; ringset = rs; barchart = null; }
// ------------------------------------------------- DefaultView private void DefaultView () { ClientSize = new Size (811, 690); Font fntTitle = new Font ("Times New Roman", 12, FontStyle .Bold | FontStyle .Italic); Font fntSectors = new Font ("Times New Roman", 12); double angleTitle = 0; Color clrTitle = Color .Blue; RingSet rs = new RingSet (this, new Point (ClientRectangle .Width / 4, ClientRectangle .Height / 4), 30, 80, new double [] { 1, 2, 4, 8, 16 }); rs .Rings [0] .SectorTexts = Auxi_Common .strDays; int newInner = rs .OuterMostRadius; rs .AddRing (newInner, newInner + 50, Math .PI / 3, new double [] { 3, 7, 2, 9, 4 }); newInner = rs .OuterMostRadius; double [] fVal = new double [] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; RingArea ring = new RingArea (this, new Point (0, 0), newInner, newInner + 75, fVal); ring .Colors = Auxi_Colours .SmoothColorsList (fVal .Length, Color .Yellow, Color .Blue); ring .SectorTexts = Auxi_Common .strMonths; rs .AddRing (ring); elems .Add (new SingleElem (rs)); double [] fRandVal = Auxi_Common .RandomArray (1000, Auxi_Common .strDays .Length); PieChart chart = new PieChart (this, new Point (ClientRectangle .Width / 5, ClientRectangle .Height * 2 / 3), Math .Max (ClientRectangle .Width, ClientRectangle .Height) / 4, fRandVal); chart .SectorTexts = Auxi_Common .strDays; for (int i = 0; i < chart .Colors .Count; i++) { chart .ChangeColor (i, Auxi_Colours .ColorPredefined (i)); } int nDifViews = Enum .GetNames (typeof (RoundPlotTextView)) .Length; for (int i = 0; i < chart .Sectors; i++) { chart .SectorComments [i] .TextView = (RoundPlotTextView) (Enum .GetValues (typeof (RoundPlotTextView)) .GetValue (i % nDifViews)); chart .SectorComments [i] .Font = fntSectors; } chart .AddComment (-90, 0.2, DateTime .Now .ToShortTimeString (), fntTitle, angleTitle, clrTitle); elems .Insert (0, new SingleElem (chart)); int nSector = 21; fRandVal = Auxi_Common .RandomArray (1000, nSector); rs = new RingSet (this, new Point (ClientRectangle .Width * 3 / 4, ClientRectangle .Height / 3), 40, Convert .ToInt32 (chart .Radius * 1.1), fRandVal); rs .Rings [0] .Colors = Auxi_Colours .SmoothColorsList (nSector, Color .White, Color .LightBlue); rs .AddComment (90, 0.3, "People", fntTitle, angleTitle, clrTitle); for (int i = 0; i < rs .Rings [0] .Sectors; i++) { rs .Rings [0] .Comments [i] .Text = Auxi_Common .StringOfText (Auxi_Common .strNames, i); rs .Rings [0] .Comments [i] .TextView = RoundPlotTextView .Text; rs .Rings [0] .Comments [i] .Angle = rs .Rings [0] .Comments [i] .AngleToCenter; rs .Rings [0] .Comments [i] .Font = fntSectors; } rs .Rings [0] .FixedSectorTextsAngles = false; rs .Rings [0] .EasyToReadOnRotation = true; elems .Insert (0, new SingleElem (rs)); // barchart // int nSegment = Auxi_Common .strDays .Length - 2; int nSet = 4; double [,] fVals = new double [nSet, nSegment]; for (int i = 0; i < nSet; i++) { for (int j = 0; j < nSegment; j++) { fVals [i, j] = rand .Next (nSeed) % 1000; } } Rectangle rc = new Rectangle (ClientRectangle .Width / 2, ClientRectangle .Height / 2, ClientRectangle .Width * 3 / 7, ClientRectangle .Height * 2 / 5); BarChart barchart = new BarChart (this, rc, fVals, Side .S, Auxi_Common .strDays, TextsDrawingDirection .LTtoRB, Side .E, 1000.0, 0.0, GridOrigin .ByStep, 200.0); barchart .FillCoefficients (0, 0.85); barchart .NumScale .ValuesFormat = "F0"; barchart .AddComment (0.5, 0.1, "Default BarChart", new Font ("Times New Roman", 11, FontStyle .Bold), 0, Color .Red); elems .Insert (0, new SingleElem (barchart)); }