我在C#应用程序中使用MigraDoc创建了以下图表:
Chart chart = new Chart(ChartType.Bar2D);
chart.Width = "10cm";
chart.Height = "10cm";
Series series = chart.SeriesCollection.AddSeries();
series.Add(new double[] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 });
XSeries xseries = chart.XValues.AddXSeries();
xseries.Add("A", "B", "C", "D", "E", "F", "G", "H", "I", "J");
chart.XAxis.MajorTickMark = TickMarkType.Outside;
chart.XAxis.Title.Caption = "X-Axis";
chart.YAxis.MajorTickMark = TickMarkType.Outside;
chart.YAxis.HasMajorGridlines = true;
chart.PlotArea.LineFormat.Color = Colors.AliceBlue;
chart.PlotArea.LineFormat.Width = 1;
chart.PlotArea.LineFormat.Visible = true;
MigraDocObject.Add(chart);
Run Code Online (Sandbox Code Playgroud)
现在让我说我想成为酒吧A Colors.AliceBlue和酒吧B in Colors.DarkGray.我怎么能做到这一点?是否可以通过官方API?或者我必须攻击MigraDoc?
小智 5
我的解决方案
Series series = chart.SeriesCollection.AddSeries();
series.Add(new double[] { 3, 10, 10, 150, 7, 192, 6 });
var elements = series.Elements.Cast<MigraDoc.DocumentObjectModel.Shapes.Charts.Point>().ToArray();
elements[0].FillFormat.Color = Colors.Chartreuse;
elements[3].FillFormat.Color = Colors.DeepSkyBlue;
Run Code Online (Sandbox Code Playgroud)