C# 使用 EPPlus 创建 Excel 并生成散点图 - 删除网格线,保留图例
下面是使用 EPPlus 类创建 Excel 并生成散点图,删除网格线但不删除图例的示例代码:
using OfficeOpenXml;
using OfficeOpenXml.Drawing.Chart;
// 创建 Excel 文件
using (var excelPackage = new ExcelPackage())
{
// 添加工作表
var worksheet = excelPackage.Workbook.Worksheets.Add('散点图');
// 添加数据
worksheet.Cells['A1'].Value = 'X';
worksheet.Cells['B1'].Value = 'Y';
worksheet.Cells['A2'].Value = 1;
worksheet.Cells['B2'].Value = 2;
worksheet.Cells['A3'].Value = 3;
worksheet.Cells['B3'].Value = 4;
worksheet.Cells['A4'].Value = 5;
worksheet.Cells['B4'].Value = 6;
// 添加散点图
var chart = worksheet.Drawings.AddChart('散点图', eChartType.XYScatter);
chart.SetPosition(1, 0, 4, 0);
chart.SetSize(600, 400);
var series = chart.Series.Add(worksheet.Cells['B2:B4'], worksheet.Cells['A2:A4']);
series.HeaderAddress = worksheet.Cells['B1'];
chart.Legend.Remove(); // 删除默认图例
chart.Legend.Add(); // 添加新图例
chart.Legend.Position = eLegendPosition.Bottom; // 将新图例放在底部
// 删除网格线
chart.Legend.Border.Fill.Color = System.Drawing.Color.Transparent;
chart.Legend.Border.LineStyle = eLineStyle.None;
chart.XAxis.MajorGridlines.Border.Fill.Color = System.Drawing.Color.Transparent;
chart.XAxis.MajorGridlines.Border.LineStyle = eLineStyle.None;
chart.YAxis.MajorGridlines.Border.Fill.Color = System.Drawing.Color.Transparent;
chart.YAxis.MajorGridlines.Border.LineStyle = eLineStyle.None;
// 保存文件
excelPackage.SaveAs(new FileInfo(@'C:\temp\散点图.xlsx'));
}
在上面的代码中,我们首先创建了一个名为“散点图”的工作表,然后添加了一些数据。接下来,我们使用 Drawings.AddChart 方法添加了一个散点图,并使用 Series.Add 方法添加了一个数据系列。默认情况下,EPPlus 会添加一个图例,但我们可以使用 Legend.Remove 方法删除它。然后,我们使用 Legend.Add 方法添加一个新图例,并设置其位置为底部。最后,我们使用 Border.Fill.Color 和 Border.LineStyle 属性将网格线的颜色和样式设置为透明,以删除它们。
当我们运行这个代码时,它将创建一个名为“散点图.xlsx”的文件,并在其中添加一个名为“散点图”的工作表,该工作表包含一个散点图和一些数据。图例位于底部,网格线已被删除。
原文地址: https://www.cveoy.top/t/topic/oOpY 著作权归作者所有。请勿转载和采集!