public static string xkcd() { float[] data = new float[] { 35, 30, 26, 22, 17, 5, 96, 5, 4, 3, 2, 2, 1, 1 }; string[] axisLabels = new string[] { ".00", ".02", ".04", ".06", ".08", ".10", ".12", ".14", ".16", ".18", ".20", ".22", ".24", ".26" }; ChartAxis bottomAxis = new ChartAxis(ChartAxisType.Bottom); bottomAxis.SetRange(0, 30); for (int i = 0; i < axisLabels.Length; i++) { bottomAxis.AddLabel(new ChartAxisLabel(axisLabels[i], i * 2)); } ChartAxis bottomAxis2 = new ChartAxis(ChartAxisType.Bottom); bottomAxis2.AddLabel(new ChartAxisLabel("Blood Alcohol Concentration (%)", 50)); LineChart lineChart = new LineChart(400, 200); lineChart.SetTitle("Programming Skill", "000000", 14); lineChart.SetData(data); lineChart.AddAxis(bottomAxis); lineChart.AddAxis(bottomAxis2); return(lineChart.GetUrl()); }
public static string axesLabelsTest() { int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; int[] line2 = new int[] { 15, 20, 60, 44, 20, 35 }; List <int[]> dataset = new List <int[]>(); dataset.Add(line1); dataset.Add(line2); LineChart lineChart = new LineChart(250, 150); lineChart.SetTitle("Axis Labels Test", "0000FF", 14); lineChart.SetData(dataset); lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom, new string[] { "b", "o", "t", "t", "o", "m" })); lineChart.AddAxis(new ChartAxis(ChartAxisType.Left, new string[] { "l", "e", "f", "t" })); ChartAxis rightAxis = new ChartAxis(ChartAxisType.Right); rightAxis.AddLabel(new ChartAxisLabel("r")); rightAxis.AddLabel(new ChartAxisLabel("i")); rightAxis.AddLabel(new ChartAxisLabel("g")); rightAxis.AddLabel(new ChartAxisLabel("h")); rightAxis.AddLabel(new ChartAxisLabel("t")); lineChart.AddAxis(rightAxis); ChartAxis topAxis = new ChartAxis(ChartAxisType.Top); topAxis.AddLabel(new ChartAxisLabel("t")); topAxis.AddLabel(new ChartAxisLabel("o")); topAxis.AddLabel(new ChartAxisLabel("p")); lineChart.AddAxis(topAxis); return(lineChart.GetUrl()); }
public static string multiLineAreaFillsTest() { float[] line1 = new float[] { 15, 45, 5, 30, 10 }; float[] line2 = new float[] { 35, 65, 25, 50, 30 }; float[] line3 = new float[] { 55, 85, 45, 70, 50 }; List <float[]> dataset = new List <float[]>(); dataset.Add(line1); dataset.Add(line2); dataset.Add(line3); LineChart lineChart = new LineChart(250, 150, LineChartType.SingleDataSet); lineChart.SetTitle("Area fills test"); lineChart.SetData(dataset); lineChart.AddAxis(new ChartAxis(ChartAxisType.Left)); lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); lineChart.AddFillArea(new FillArea("FF0000", 0, 1)); lineChart.AddFillArea(new FillArea("224499", 1, 2)); return(lineChart.GetUrl()); }
public static string stepSizeTest() { int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; LineChart lineChart = new LineChart(250, 150); lineChart.SetTitle("Step Size Test"); lineChart.AddAxis(new ChartAxis(ChartAxisType.Left)); lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); lineChart.SetData(line1); lineChart.SetGrid(20, 50); return(lineChart.GetUrl()); }
public static string singleLineAreaFillTest() { float[] fdata = new float[] { 10, 30, 75, 40, 15 }; LineChart chart = new LineChart(250, 150); chart.SetTitle("Area fill test"); chart.SetData(fdata); chart.AddAxis(new ChartAxis(ChartAxisType.Left)); chart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); chart.AddFillArea(new FillArea("224499", 0)); return(chart.GetUrl()); }
public static string stackingAxes() { ChartAxis bottomAxis = new ChartAxis(ChartAxisType.Bottom); ChartAxis bottomAxis2 = new ChartAxis(ChartAxisType.Bottom); bottomAxis2.SetRange(0, 50); int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; LineChart lineChart = new LineChart(150, 150); lineChart.AddAxis(bottomAxis); lineChart.AddAxis(bottomAxis2); lineChart.SetData(line1); return(lineChart.GetUrl()); }
public static string rangeMarkersTest() { float[] fdata = new float[] { 10, 30, 75, 40, 15 }; LineChart chart = new LineChart(250, 150); chart.SetTitle("Range markers test"); chart.SetData(fdata); chart.AddAxis(new ChartAxis(ChartAxisType.Left)); chart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); chart.AddRangeMarker(new RangeMarker(RangeMarkerType.Horizontal, "EFEFEF", 0.2, 0.7)); chart.AddRangeMarker(new RangeMarker(RangeMarkerType.Vertical, "CCCCCC", 0.4, 0.6)); return(chart.GetUrl()); }
public static async void Execute(object sender, Telegram.Bot.Args.MessageEventArgs e) { if (!Name.Equals(e?.Message?.Text)) { return; } var user = UserExistCommand.GetUser(e.Message.From.Id); var forecast = GetLocationCommand.GetForecast(user.Id); if (forecast is null) { GetLocationCommand.SetLocation(user.Id); return; } var temp = new int[5]; var marks = new string[5]; var j = 1; for (var i = 0; i < 5; i++, j += 8) { temp[i] = (int)forecast.List[j].Main.Temp + 5; marks[i] = forecast.List[j].Dt_txt; } var dataset = new List <int[]>(); dataset.Add(temp); var lineChart = new LineChart(600, 300); lineChart.SetTitle("График температуры на 5 дней", "0088A0", 14); lineChart.SetData(dataset); lineChart.SetGrid(10, 10); lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom, marks)); var chartAxisLeft = new ChartAxis(ChartAxisType.Left); chartAxisLeft.SetRange(-20, 80); lineChart.AddAxis(chartAxisLeft); lineChart.SetDatasetColors(new string[] { "85E0F0" }); lineChart.SetLegend(new string[] { "Температура" }); await Bot.client.SendPhotoAsync(user.Id, lineChart.GetUrl()); }
public static string axisLabels() { ChartAxis leftAxis = new ChartAxis(ChartAxisType.Left, new string[] { "one", "two", "three" }); ChartAxis bottomAxis = new ChartAxis(ChartAxisType.Bottom); bottomAxis.AddLabel(new ChartAxisLabel("a", 0)); bottomAxis.AddLabel(new ChartAxisLabel("b", 10)); bottomAxis.AddLabel(new ChartAxisLabel("c", 50)); bottomAxis.AddLabel(new ChartAxisLabel("d", 100)); int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; LineChart lineChart = new LineChart(150, 150); lineChart.AddAxis(leftAxis); lineChart.AddAxis(bottomAxis); lineChart.SetData(line1); return(lineChart.GetUrl()); }
public static string shapeMarkersTest() { float[] fdata = new float[] { 10, 30, 75, 40, 15 }; LineChart chart = new LineChart(300, 150); chart.SetTitle("Shape markers test"); chart.SetData(fdata); chart.AddAxis(new ChartAxis(ChartAxisType.Left)); chart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); chart.AddShapeMarker(new ShapeMarker(ShapeMarkerType.Arrow, "FF0000", 0, 0, 5)); chart.AddShapeMarker(new ShapeMarker(ShapeMarkerType.Circle, "00FF00", 0, 1, 15)); chart.AddShapeMarker(new ShapeMarker(ShapeMarkerType.Cross, "0000FF", 0, 2, 15)); chart.AddShapeMarker(new ShapeMarker(ShapeMarkerType.VerticalLine, "FF0000", 0, 3, 2)); return(chart.GetUrl()); }
public static string solidFillTest() { int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; LineChart lineChart = new LineChart(250, 150); lineChart.SetTitle("Solid fill test"); lineChart.SetData(line1); lineChart.AddAxis(new ChartAxis(ChartAxisType.Left)); lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); SolidFill bgFill = new SolidFill(ChartFillTarget.Background, "EFEFEF"); SolidFill chartAreaFill = new SolidFill(ChartFillTarget.ChartArea, "000000"); lineChart.AddSolidFill(bgFill); lineChart.AddSolidFill(chartAreaFill); return(lineChart.GetUrl()); }
public static string singleDatasetPerLine() { int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; int[] line2 = new int[] { 15, 20, 60, 44, 20, 35 }; List <int[]> dataset = new List <int[]>(); dataset.Add(line1); dataset.Add(line2); LineChart lineChart = new LineChart(250, 150); lineChart.SetTitle("Single Dataset Per Line", "0000FF", 14); lineChart.SetData(dataset); lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); lineChart.AddAxis(new ChartAxis(ChartAxisType.Left)); return(lineChart.GetUrl()); }
public static string linearStripesTest() { float[] fdata = new float[] { 10, 30, 75, 40, 15 }; LineChart chart = new LineChart(250, 150); chart.SetTitle("Linear Stripes Test"); chart.SetData(fdata); chart.AddAxis(new ChartAxis(ChartAxisType.Left)); chart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); LinearStripesFill linearStripesFill = new LinearStripesFill(ChartFillTarget.ChartArea, 0); linearStripesFill.AddColorWidthPair("CCCCCC", 0.2); linearStripesFill.AddColorWidthPair("FFFFFF", 0.2); chart.AddLinearStripesFill(linearStripesFill); chart.AddSolidFill(new SolidFill(ChartFillTarget.Background, "EFEFEF")); return(chart.GetUrl()); }
/// <summary> /// 折线图 /// </summary> /// <returns></returns> public string GenerateLineChart() { int[] data = new int[] { 1027, 98, 36, 374, 473, 54, 126, 22, 147, 20, 188, 58 }; string[] axisLabels = new string[] { "AA", "BB", "CC", "DD", "EE", "FF", "GG", "HH", "II", "JJ", "KK", "LL" }; LineChart lineChart = new LineChart(450, 250); lineChart.SetTitle("三日内更新", "000000", 14); lineChart.SetData(lineChart.ConvertToPorcent(data)); ChartAxis axisX = new ChartAxis(ChartAxisType.Bottom, axisLabels); ChartAxis axisY = new ChartAxis(ChartAxisType.Left); axisY.SetRange(0, lineChart.findMaxValue(data)); lineChart.AddFillArea(new FillArea("EFEFEF", 0)); lineChart.AddAxis(axisX); lineChart.AddAxis(axisY); return(lineChart.GetUrl()); }
public static string allBasicAxesTest() { int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; int[] line2 = new int[] { 15, 20, 60, 44, 20, 35 }; List <int[]> dataset = new List <int[]>(); dataset.Add(line1); dataset.Add(line2); LineChart lineChart = new LineChart(250, 150); lineChart.SetTitle("Basic Axes Test", "0000FF", 14); lineChart.SetData(dataset); lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); lineChart.AddAxis(new ChartAxis(ChartAxisType.Left)); lineChart.AddAxis(new ChartAxis(ChartAxisType.Right)); lineChart.AddAxis(new ChartAxis(ChartAxisType.Top)); return(lineChart.GetUrl()); }
public static string lineColorAndLegendTest() { int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; int[] line2 = new int[] { 15, 20, 60, 44, 20, 35 }; List <int[]> dataset = new List <int[]>(); dataset.Add(line1); dataset.Add(line2); LineChart lineChart = new LineChart(250, 150); lineChart.SetTitle("Line Color And Legend Test", "0000FF", 14); lineChart.SetData(dataset); lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); lineChart.AddAxis(new ChartAxis(ChartAxisType.Left)); lineChart.SetDatasetColors(new string[] { "FF0000", "00FF00" }); lineChart.SetLegend(new string[] { "line1", "line2" }); return(lineChart.GetUrl()); }
public static string multiDatasetPerLine() { int[] line1x = new int[] { 0, 15, 30, 45, 60 }; int[] line1y = new int[] { 10, 50, 15, 60, 12 }; int[] line2x = new int[] { 0, 15, 30, 45, 60 }; int[] line2y = new int[] { 45, 12, 60, 34, 60 }; List <int[]> dataset = new List <int[]>(); dataset.Add(line1x); dataset.Add(line1y); dataset.Add(line2x); dataset.Add(line2y); LineChart lineChart = new LineChart(250, 150, LineChartType.MultiDataSet); lineChart.SetTitle("Multi Dataset Per Line", "0000FF", 14); lineChart.SetData(dataset); lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); lineChart.AddAxis(new ChartAxis(ChartAxisType.Left)); return(lineChart.GetUrl()); }
public static string linearGradientFillTest() { int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; LineChart lineChart = new LineChart(250, 150); lineChart.SetTitle("Linear Gradient fill test"); lineChart.SetData(line1); lineChart.AddAxis(new ChartAxis(ChartAxisType.Left)); lineChart.AddAxis(new ChartAxis(ChartAxisType.Bottom)); LinearGradientFill fill = new LinearGradientFill(ChartFillTarget.ChartArea, 45); fill.AddColorOffsetPair("FFFFFF", 0); fill.AddColorOffsetPair("76A4FB", 0.75); SolidFill bgFill = new SolidFill(ChartFillTarget.Background, "EFEFEF"); lineChart.AddLinearGradientFill(fill); lineChart.AddSolidFill(bgFill); return(lineChart.GetUrl()); }
public static string axesStyleTest() { int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; int[] line2 = new int[] { 15, 20, 60, 44, 20, 35 }; List <int[]> dataset = new List <int[]>(); dataset.Add(line1); dataset.Add(line2); LineChart lineChart = new LineChart(250, 150); lineChart.SetTitle("Axes Style Test", "0000FF", 14); lineChart.SetData(dataset); ChartAxis topAxis = new ChartAxis(ChartAxisType.Top); topAxis.SetRange(0, 10); topAxis.AddLabel(new ChartAxisLabel("test", 2)); topAxis.AddLabel(new ChartAxisLabel("test", 6)); topAxis.FontSize = 12; topAxis.Color = "FF0000"; topAxis.Alignment = AxisAlignmentType.Left; lineChart.AddAxis(topAxis); ChartAxis bottomAxis = new ChartAxis(ChartAxisType.Bottom); bottomAxis.AddLabel(new ChartAxisLabel("test", 2)); bottomAxis.AddLabel(new ChartAxisLabel("test", 6)); bottomAxis.SetRange(0, 10); bottomAxis.FontSize = 14; bottomAxis.Color = "00FF00"; bottomAxis.Alignment = AxisAlignmentType.Right; lineChart.AddAxis(bottomAxis); return(lineChart.GetUrl()); }
public static string axesRangeTest() { int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; int[] line2 = new int[] { 15, 20, 60, 44, 20, 35 }; List <int[]> dataset = new List <int[]>(); dataset.Add(line1); dataset.Add(line2); LineChart lineChart = new LineChart(250, 150); lineChart.SetTitle("Axes Range Test", "0000FF", 14); lineChart.SetData(dataset); ChartAxis topAxis = new ChartAxis(ChartAxisType.Top); topAxis.SetRange(0, 10); lineChart.AddAxis(topAxis); ChartAxis rightAxis = new ChartAxis(ChartAxisType.Right); rightAxis.SetRange(0, 10); lineChart.AddAxis(rightAxis); ChartAxis bottomAxis = new ChartAxis(ChartAxisType.Bottom); bottomAxis.SetRange(0, 10); lineChart.AddAxis(bottomAxis); ChartAxis leftAxis = new ChartAxis(ChartAxisType.Left); leftAxis.SetRange(0, 10); lineChart.AddAxis(leftAxis); return(lineChart.GetUrl()); }