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 axisRange() { ChartAxis bottomAxis = new ChartAxis(ChartAxisType.Bottom); bottomAxis.SetRange(0, 50); int[] line1 = new int[] { 5, 10, 50, 34, 10, 25 }; LineChart lineChart = new LineChart(150, 150); lineChart.AddAxis(bottomAxis); lineChart.SetData(line1); return(lineChart.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()); }
/// <summary> /// 柱状图 /// </summary> /// <returns></returns> public string GenerateBarChart() { int[] data = new int[] { 1027, 98, 36, 374, 473, 54, 126, 22, 147, 20, 188, 58 }; string[] axisLabels = new string[] { "AA", "BB", "BB", "DD", "EE", "FF", "GG", "HH", "II", "JJ", "KK", "LL" }; BarChart barChart = new BarChart(500, 250, BarChartOrientation.Vertical, BarChartStyle.Grouped); barChart.SetTitle("三日内更新数据"); ChartAxis axisX = new ChartAxis(ChartAxisType.Bottom, axisLabels); ChartAxis axisY = new ChartAxis(ChartAxisType.Left); axisY.SetRange(0, barChart.findMaxValue(data)); barChart.AddAxis(axisX); barChart.AddAxis(axisY); barChart.SetData(barChart.ConvertToPorcent(data)); return(barChart.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 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()); }
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()); }