如何移除PdfSharp Charts图表容器的边框与渐变背景?
移除PdfSharp Charts容器的边框和背景
你需要修改Chart实例本身的填充和线条格式属性——你当前仅配置了绘图区域(PlotArea)的样式,而外层容器的样式由Chart自身的FillFormat和LineFormat控制。
在创建Chart对象后添加以下两行代码,即可直接移除容器的边框和渐变背景:
chart.FillFormat.Visible = false; // 关闭容器的背景填充(包括渐变效果) chart.LineFormat.Visible = false; // 关闭容器的边框线条
完整修改后的代码如下:
public static Chart ColumnChart(PdfChartValues pdfChartValues) { Chart chart = new Chart(ChartType.Column2D); // 添加这两行移除容器边框和背景 chart.FillFormat.Visible = false; chart.LineFormat.Visible = false; chart.Font.Size = 7; chart.PlotArea.FillFormat.Color = XColors.White; chart.Legend.Docking = DockingType.Bottom; XSeries xSeries = chart.XValues.AddXSeries(); xSeries.Add(pdfChartValues.XSeriesText); Series series; foreach (var item in pdfChartValues.ChartSeriesValues) { series = chart.SeriesCollection.AddSeries(); series.Name = item.SeriesName; series.Add(item.SeriesValues); series.FillFormat.Color = XColor.FromArgb(item.RedValue, item.GreenValue, item.BlueValue); // Bar color } chart.XAxis.HasMajorGridlines = false; chart.XAxis.MajorTickMark = TickMarkType.None; chart.XAxis.Title.Caption = pdfChartValues.TitleCaption; chart.YAxis.MajorTickMark = TickMarkType.None; chart.YAxis.MajorTick = pdfChartValues.YAxisMajorTick; chart.YAxis.HasMajorGridlines = true; chart.YAxis.MajorGridlines.LineFormat.Color = XColors.LightGray; chart.PlotArea.LineFormat.Color = XColors.LightGray; chart.PlotArea.LineFormat.Width = 1; chart.PlotArea.LineFormat.Visible = true; chart.DataLabel.Type = DataLabelType.Value; chart.DataLabel.Position = DataLabelPosition.OutsideEnd; chart.DataLabel.Format = pdfChartValues.SetMoneyFormat ? "$0" : "##,#"; return chart; }
如果关闭FillFormat.Visible后仍有残留背景,可尝试将填充颜色设为透明替代:
chart.FillFormat.Color = XColors.Transparent;
内容的提问来源于stack exchange,提问作者Ctrl Alt Elite
相关产品推荐
相关产品推荐

