public void TestLine1() { var s1 = new Series() { Legend = "data", Color = Color.Green }; s1.Add(80); s1.Add(40); s1.Add(110); s1.Add(30); var s2 = new Series() { Legend = "data 2", Color = Color.Red }; s2.Add(170); s2.Add(150); s2.Add("oh snap", 80); s2.Add(30); var line = ChartBuilder.Line() .Title("bar yo") .Size(400, 200) .ShowLegend(Position.right) .AddSeries(s1) .AddSeries(s2) .AddAxes(Position.left, 0, 170, 30, "left data") .AddAxes(Position.bottom, 1, 4, 1, "number"); Debug.WriteLine(line.GetUrl()); }
public void TestLine3() { var s1 = new Series() { Legend = "Data", Color = ColorTranslator.FromHtml("#0077CC") }; s1.Add(27); s1.Add(25); s1.Add(60); s1.Add(31); s1.Add(25); s1.Add(39); s1.Add(25); s1.Add(31); s1.Add(26); s1.Add(28); s1.Add(80); s1.Add(28); s1.Add(27); s1.Add(31); s1.Add(27); s1.Add(29); s1.Add(26); s1.Add(35); s1.Add(70); s1.Add(25); var line = ChartBuilder.Line(LineType.SparkLine) .Size(200, 125) .AddSeries(s1); var url = line.GetUrl(); Debug.WriteLine(url); Assert.AreEqual(url, "http://chart.apis.google.com/chart?cht=ls&chs=200x125&chco=0077CC&chd=t:27,25,60,31,25,39,25,31,26,28,80,28,27,31,27,29,26,35,70,25"); }
public async Task <ChartViewModel> CreateAsync() { var results = await _parkRepository.GetAllSportsClubsAsync(); var sports = (await _parkRepository.GetAllSportTypesAsync()).Select(x => x.Name).ToArray(); var count = new decimal[sports.Length]; foreach (var result in results) { count[Array.FindIndex(sports, s => s.Equals(result.Sport.ToString()))]++; } var builder = new ChartBuilder(ChartType.doughnut) .AddDataX(sports) .AddDatasetY(count, label: "Make up of sports offered by our clubs", borderWidth: 1, dp: 0 ) .AddBackgroundColors() .SetTitle("Sports of all of our clubs") .SetDuration(5) .SetMaintainAspectRatio(true, true); var chart = builder.GetChart(); return(new ChartViewModel(chart)); }
public static ChartBuilder<PropertyPivotAverageAmountPerMonth_Result> AnnualComparison(this HtmlHelper html, int id) { MyDatabaseEntities db = new MyDatabaseEntities(); var results = db.PropertyPivotAverageAmountPerMonth(id); ChartBuilder<PropertyPivotAverageAmountPerMonth_Result> chart = new ChartBuilder<PropertyPivotAverageAmountPerMonth_Result>(html, results); chart.AxisX(axisX => axisX.CategoricalValues("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")); chart.PrimaryHeader(header => header.Text("Annual Cost Comparisons")); foreach (var year in results) { chart.DataSeries(s => s.Line() .CollectionAlias(year.Year.ToString()) .Data(new object[] { new { x=0, y=year.C1 }, new { x=1, y=year.C2 }, new { x=2, y=year.C3 }, new { x=3, y=year.C4 }, new { x=4, y=year.C5 }, new { x=5, y=year.C6 }, new { x=6, y=year.C7 }, new { x=7, y=year.C8 }, new { x=8, y=year.C9 }, new { x=9, y=year.C10 }, new { x=10, y=year.C11 }, new { x=11, y=year.C12 } })); } return chart; }
public async Task <ChartViewModel> CreateAsync() { var data = await _parkRepository.GetAllSportsClubsAsync(); var parks = await _parkRepository.GetAllParksAsync(false); var count = new decimal[parks.Length]; foreach (var d in data) { count[Array.FindIndex(parks, p => p.ParkId == d.Park.ParkId)] += d.Members; } var builder = new ChartBuilder(ChartType.scatter) .AddScatterData(parks.Select(p => (decimal)p.SizeInMetresSquared).ToArray(), count, 7, 0, 0, "Members by park area" ) .AddBackgroundColors() .AddBorderColors() .AddXAxesSet("Park size (metres squared)") .AddYAxesSet("Total club members") .SetTitle("Total Club Members by Park area") .SetDuration(2) .SetMaintainAspectRatio(true, true); var chart = builder.GetChart(); return(new ChartViewModel(chart)); }
public void TestPie1() { var s1 = new Series() { Legend = "data" }; s1.Add("Field1", 80); s1.Add("Field2", 40); s1.Add("Field3", 110); s1.Add("Field4", 30); var pie = ChartBuilder.Pie() .Title("bar yo") .Size(400, 200) .ShowLegend(Position.right) .AddSeries(s1) .AddAxes(Position.left, 0, 170, 30, "left data") .AddAxes(Position.bottom, 1, 4, 1, "number"); var url = pie.GetUrl(); Debug.WriteLine(url); Assert.AreEqual(url, "http://chart.apis.google.com/chart?cht=p&chs=400x200&chtt=bar+yo&chd=t:80,40,110,30&chl=Field1|Field2|Field3|Field4&chdlp=r&chdl=Field1|Field2|Field3|Field4&chxt=y,y,x,x&chxr=0,0,170,30|2,1,4,1|&chxl=1:|left+data|3:|number&chxp=1,50&3,50"); }
/// <summary> /// Основная фаза - тело действия /// </summary> /// <returns> </returns> protected override object MainProcess() { var chart = ChartBuilder.ParseDatasets(ChartData); var brick = chart.ToBrickDataset(); var height = (Context.Get("__height") ?? "400").ToInt(); var brickRequest = new BrickRequest { Size = height, SourceMinValue = brick.GetMin(), SourceMaxValue = brick.GetMax(), MinimalScaleBehavior = MiniamlScaleBehavior.FitMin }; var catalog = new BrickCatalog(); var variant = catalog.GetBestVariant(brickRequest); brick.Preferences.SeriaCalcMode = SeriaCalcMode.Linear; brick.Preferences.Height = height; brick.Preferences.YMin = "auto"; brick.FirstScale = new Scale { Min = variant.ResultMinValue, Max = variant.ResultMaxValue }; var newChart = brick.Calculate().ToChart(); newChart.SetNumDivLines(variant.ResultDivCount); newChart.SetYAxisMinValue(Convert.ToDouble(variant.ResultMinValue)); newChart.SetYAxisMaxValue(Convert.ToDouble(variant.ResultMaxValue)); return(newChart); }
public void TestPie3() { var s1 = new Series(); s1.Add(10); s1.Add(-10); s1.Add(10); s1.Add(-10); var s2 = new Series(); s2.Add(5); s2.Add(-5); s2.Add(5); s2.Add(-5); s2.Add(5); s2.Add(-5); s2.Add(5); s2.Add(-5); s2.Add(5); s2.Add(-5); var pie = ChartBuilder.Pie(PieType.Concentric) .Size(150, 150) .AddSeries(s1) .AddSeries(s2); var url = pie.GetUrl(); Debug.WriteLine(url); Assert.AreEqual(url, "http://chart.apis.google.com/chart?cht=pc&chs=150x150&chd=t:10,-10,10,-10|5,-5,5,-5,5,-5,5,-5,5,-5"); }
public void TestLine2() { var s1 = new Series() { Legend = "Data" }; s1.Add(40); s1.Add(60); s1.Add(60); s1.Add(45); s1.Add(47); s1.Add(75); s1.Add(70); s1.Add(72); var line = ChartBuilder.Line() .Size(200, 125) .AddSeries(s1); var url = line.GetUrl(); Debug.WriteLine(url); Assert.AreEqual(url, "http://chart.apis.google.com/chart?cht=lc&chs=200x125&chd=t:40,60,60,45,47,75,70,72"); }
public void WHEN_Chart_Is_Constructed_THEN_Chart_Cannot_be_retrieved() { var builder = new ChartBuilder(ChartType.bar); var chart = builder.GetChart(); Assert.Null(chart); }
public async Task OnGetAsync() { // Get response var chartResponse = await _chartService.GetAllCharts(); // Build Charts = ChartBuilder.BuildCharts(chartResponse); }
public void TestLine4() { var s1 = new Series { Legend = "Ponies", Color = ColorTranslator.FromHtml("#3072F3"), LineThickness = 2, DashLength = 4, SpaceLength = 1 }; s1.Add(10); s1.Add(20); s1.Add(40); s1.Add(80); s1.Add(90); s1.Add(95); s1.Add(99); var s2 = new Series(); s2.Add(20); s2.Add(30); s2.Add(40); s2.Add(50); s2.Add(60); s2.Add(70); s2.Add(80); var s3 = new Series { Legend = "Unicorns", Color = Color.Red }; s3.Add(-1); var s4 = new Series { Color = ColorTranslator.FromHtml("#00aaaa") }; s4.Add(5); s4.Add(10); s4.Add(22); s4.Add(35); s4.Add(85); var line = ChartBuilder.Line(LineType.LineXY) .Size(200, 125) .ShowLegend(Position.top) .AddSeries(s1) .AddSeries(s2) .AddSeries(s3) .AddSeries(s4); var url = line.GetUrl(); Debug.WriteLine(url); Assert.AreEqual(url, "http://chart.apis.google.com/chart?cht=lxy&chs=200x125&chls=2,4,1&chco=3072F3,FF0000,00AAAA&chd=t:10,20,40,80,90,95,99|20,30,40,50,60,70,80|-1|5,10,22,35,85&chdlp=t&chdl=Ponies|Unicorns"); }
public void NewChartWithLegend() { SpreadsheetDocument doc = new SpreadsheetDocument(); doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"testsheet.ods")); Table table = doc.TableCollection[0]; Chart chart = ChartBuilder.CreateChartByLegend(table, "A3:F8", ChartTypes.surface, "left", "0.5", "5", "year", "dollars"); table.InsertChartAt("M2", chart); doc.Content.Add(table); doc.SaveTo(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "NewChartWithLegend.ods")); }
public void NewChartWithAxises() { SpreadsheetDocument doc = new SpreadsheetDocument(); doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"testsheet.ods")); Table table = doc.TableCollection[0]; Chart chart = ChartBuilder.CreateChartByAxises(table, "A1:B2", ChartTypes.line, 2); table.InsertChartAt("I2", chart); doc.Content.Add(table); doc.SaveTo(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "NewChartWithAxis.ods")); }
public void WHEN_ChartType_is_scatter_THEN_Add_DataSetY_and_AddDataX_return_null() { var builder = new ChartBuilder(ChartType.scatter); var dataX = builder.AddDataX(new string[] { "", "", "", "" }); var dataY = builder.AddDatasetY(new decimal[] { 1m, 2m, 3m, 4m }); var scatterData = builder.AddScatterData(new decimal[] { 1m, 2m, 3m, 4m }, new decimal[] { 1m, 2m, 3m, 4m }); Assert.NotNull(scatterData); Assert.Null(dataX); Assert.Null(dataY); }
public void NewChartWithCellRange() { SpreadsheetDocument doc = new SpreadsheetDocument(); doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"testsheet.ods")); Table table = doc.TableCollection[0]; Chart chart = ChartBuilder.CreateChartByCellRange(table, "A4:F8", ChartTypes.bar, null, null, "刘玉花的测试", 3, "bottom", "P14"); table.InsertChartAt("H2", chart); doc.Content.Add(table); doc.SaveTo(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "NewChartWithCellRange.ods")); }
private void BuildChartInWebView(ChartViewConfig config) { var htmlSource = new HtmlWebViewSource(); htmlSource.Html = ChartBuilder.BuildHTML(config); if (Device.RuntimePlatform == Device.Android) { htmlSource.BaseUrl = string.Empty; } Source = htmlSource; }
private void ReBuild(DiagramDTO diagram) { ChartBuilder cb = new ChartBuilder(); cb.BuildFromDiagram(diagram); if (!diagram.IsAdjusted) { var arranger = new SimpleArranger(); arranger.Arrange(cb.Items, cb.Connections); } SetItems(cb.Items); SetConnections(cb.Connections); }
public void WHEN_Chart_Is_Constructed_with_required_properties_THEN_Chart_can_be_retrieved() { var builder = new ChartBuilder(ChartType.bar); builder.AddDataX(new string[] { "", "", "", "" }); builder.AddDatasetY(new decimal[] { 1m, 2m, 3m, 4m }); var chart = builder.GetChart(); Assert.NotNull(chart); Assert.NotNull(chart.Data); Assert.Equal(ChartType.bar.ToString(), chart.Type); }
public void WHEN_Title_is_set_without_override_THEN_title_is_displayed() { var builder = new ChartBuilder(ChartType.bar); builder.AddDataX(new string[] { "", "", "", "" }); builder.AddDatasetY(new decimal[] { 1m, 2m, 3m, 4m }); builder.SetTitle("test"); var chart = builder.GetChart(); Assert.Equal("test", chart.Title.Text); Assert.True(chart.Title.Display); }
public void NewChartWithTitle() { SpreadsheetDocument doc = new SpreadsheetDocument(); doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"testsheet.ods")); Table table = doc.TableCollection[0]; Chart chart = ChartBuilder.CreateChartByTitle(table, "A3:E7", ChartTypes.stock, "北京红旗中文两千公司九月工资报表", "0.5cm", "0.5cm", null, null); chart.ChartTitle.TitleStyle.TextProperties.FontSize = "3pt"; chart.EndCellAddress = table.TableName + ".P17"; table.InsertChartAt("I2", chart); doc.Content.Add(table); doc.SaveTo(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "NewChartWithTitle.ods")); }
public void NewBasicChartThenSetTitle() { const string expected = "Basic Chart"; SpreadsheetDocument doc = new SpreadsheetDocument(); doc.New(); Table table = new Table(doc, "tab1", "tab1"); for (int i = 1; i <= 1; i++) { for (int j = 1; j <= 6; j++) { Cell cell = table.CreateCell(); cell.OfficeValueType = "float"; Paragraph paragraph = new Paragraph(doc); string text = (j + i - 1).ToString(); paragraph.TextContent.Add(new SimpleText(doc, text)); cell.Content.Add(paragraph); cell.OfficeValueType = "string"; cell.OfficeValue = text; table.InsertCellAt(i, j, cell); } } Chart basicChart = ChartBuilder.CreateChart(table, ChartTypes.line, "A4:F8"); ChartTitle ct = new ChartTitle(basicChart); //ct.InitTitle(); ct.SetTitle(expected); Assert.AreEqual(expected, ((Paragraph)ct.Content[0]).TextContent[0].Text); basicChart.ChartTitle = ct; IContent chartTitleContent = basicChart.Content.Find(o => o is ChartTitle); if (chartTitleContent == null) { foreach (IContent iContent in basicChart.Content) { if (iContent is ChartTitle) { chartTitleContent = iContent; } } } Assert.AreEqual(expected, ((Paragraph)((ChartTitle)chartTitleContent).Content[0]).TextContent[0].Text); table.InsertChartAt("H2", basicChart); doc.TableCollection.Add(table); using (IPackageWriter writer = new OnDiskPackageWriter()) { doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "BasicChartWithTitlesetafterwards.ods"), new OpenDocumentTextExporter(writer)); } }
public static Responses.Chart GetFake_EOS_Price() { return(new Responses.Chart { ChartId = "EOS-Master.PRICE", CurrencyId = "EOS", CurrencyName = "EOS", IndicatorId = "master.PRICE", IndicatorName = "Price", Columns = ChartBuilder.BuildChartColumns(), Rows = new List <ChartRow> { new ChartRow(DateTime.UtcNow.StripSeconds(), 8.4m, 8m, 4m), new ChartRow(DateTime.UtcNow.StripSeconds().AddMinutes(1), 8.6m, 8m, 4m) } }); }
public void TotalPayableAmountTest() { Initilizer I = new Initilizer(); I.PopulateProductItems(); I.BuildChart(); ChartBuilder cb = new ChartBuilder(I.PopulateProductItems(), I.BuildChart()); List <CheckoutDetails> list = cb.FormCheckoutPage(); Program.calculateTotalAmount(list); Assert.AreEqual(Program.calculateTotalAmount(list), 48); }
public void NewChartWithAxises() { SpreadsheetDocument doc = new SpreadsheetDocument(); using (IPackageReader reader = new OnDiskPackageReader()) { doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"testsheet.ods"), new OpenDocumentImporter(reader)); Table table = doc.TableCollection[0]; Chart chart = ChartBuilder.CreateChartByAxises(table, "A1:B2", ChartTypes.line, 2); table.InsertChartAt("I2", chart); doc.Content.Add(table); using (IPackageWriter writer = new OnDiskPackageWriter()) { doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "NewChartWithAxis.ods"), new OpenDocumentTextExporter(writer)); } } }
public void CreateNewChart() { SpreadsheetDocument doc = new SpreadsheetDocument(); doc.New(); Table table = new Table(doc, "tab1", "tab1"); for (int i = 1; i <= 1; i++) { for (int j = 1; j <= 6; j++) { Cell cell = table.CreateCell(); cell.OfficeValueType = "float"; Paragraph paragraph = new Paragraph(doc); string text = (j + i - 1).ToString(); paragraph.TextContent.Add(new SimpleText(doc, text)); cell.Content.Add(paragraph); cell.OfficeValueType = "string"; cell.OfficeValue = text; table.InsertCellAt(i, j, cell); } } Chart chart = ChartBuilder.CreateChartByAxisName (table, ChartTypes.bar, "A1:E4", "years", "dollars"); Assert.AreEqual(7, table.Rows[1].Cells.Count); Assert.AreEqual(6, table.Rows[2].Cells.Count); Assert.AreEqual(6, table.Rows[3].Cells.Count); Assert.AreEqual(6, table.Rows[4].Cells.Count); /*Chart chart = new Chart (table,"ch1"); * chart.ChartType=ChartTypes.bar .ToString () ; * chart.XAxisName ="yeer"; * chart.YAxisName ="dollar"; * chart.CreateFromCellRange ("A1:E4"); * chart.EndCellAddress ="tab1.K17";*/ table.InsertChartAt("G2", chart); doc.Content.Add(table); using (IPackageWriter writer = new OnDiskPackageWriter()) { doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, @"NewChartOne.ods"), new OpenDocumentTextExporter(writer)); } }
public void CanConvertToBrickDataset() { var chart = ChartBuilder.ParseDatasets("40,50.3,50.1;56.7,20,66.8"); var brick = chart.ToBrickDataset(); var columns = brick.BuildColons().ToArray(); Assert.AreEqual(3, columns.Length); Assert.AreEqual(2, columns[0].Length); Assert.AreEqual(2, columns[1].Length); Assert.AreEqual(2, columns[2].Length); Assert.AreEqual(40, columns[0][0].Value); Assert.AreEqual(56.7, columns[0][1].Value); Assert.AreEqual(50.3, columns[1][0].Value); Assert.AreEqual(20, columns[1][1].Value); Assert.AreEqual(50.1, columns[2][0].Value); Assert.AreEqual(66.8, columns[2][1].Value); }
public static Responses.Chart GetFake_EOS_Price() { return(new Responses.Chart { ChartId = "eos-price", IndicatorType = IndicatorType.CurrencyIndicator, CurrencyId = "eos", CurrencyName = "EOS", IndicatorId = "price", IndicatorName = "Price", UserId = "master", Columns = ChartBuilder.BuildChartColumns(), Rows = new List <ChartRow> { new ChartRow(DateTime.Now, 8.4m, 8m, 4m), new ChartRow(DateTime.Now.AddMinutes(1), 8.6m, 8m, 4m) } }); }
public void TestPie2() { var s1 = new Series(); s1.Add("Hello", 60); s1.Add("World", 40); var pie = ChartBuilder.Pie(PieType.ThreeDimensional) .Size(250, 100) .AddSeries(s1); var url = pie.GetUrl(); Debug.WriteLine(url); Assert.AreEqual(url, "http://chart.apis.google.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World"); }
public void NewChartWithCellRange() { SpreadsheetDocument doc = new SpreadsheetDocument(); using (IPackageReader reader = new OnDiskPackageReader()) { doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"testsheet.ods"), new OpenDocumentImporter(reader)); Table table = doc.TableCollection[0]; Chart chart = ChartBuilder.CreateChartByCellRange(table, "A4:F8", ChartTypes.bar, null, null, "刘玉花的测试", 3, "bottom", "P14"); table.InsertChartAt("H2", chart); doc.Content.Add(table); using (IPackageWriter writer = new OnDiskPackageWriter()) { doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "NewChartWithCellRange.ods"), new OpenDocumentTextExporter(writer)); } } }
public ChartBuilderTests() { chart = ChartTestHelper.CreateChart<SalesData>(); builder = new ChartBuilder<SalesData>(chart); }