如何获得白色图表的网格?

How to get the grid of my chart in white color?

我试图将图表的网格设置为白色。试了所有包含color字样的属性都设置成white没找到方法

我需要图表的网格是白色的,这样在黑色背景上才能正确显示。

我正在使用 Net Library 在 C# 控制台应用程序中生成这些图表。

当前图表图片:https://imgur.com/a/Pe1k21I

代码如下:

static void GenerateChart(Dictionary<int, string> sizes)
    {
        Random random = new Random();
        Chart chart = new Chart();

        chart.Width = 584;
        chart.Height = 476;
        chart.BackColor = System.Drawing.Color.Transparent;
        chart.AntiAliasing = AntiAliasingStyles.Graphics;
        
        chart.Series.Clear();            
        //chart.ForeColor = System.Drawing.Color.White;
        //chart.BorderlineColor = System.Drawing.Color.Transparent;

        chart.ChartAreas.Add("Sizes");
        chart.ChartAreas["Sizes"].AxisX.Interval = 1;
        chart.ChartAreas["Sizes"].AxisY.Interval = 20;
        chart.ChartAreas["Sizes"].BackColor = System.Drawing.Color.Transparent;
        chart.ChartAreas["Sizes"].BorderColor = System.Drawing.Color.White;
        chart.ChartAreas["Sizes"].BorderWidth = 2;
        //chartArea.ShadowColor = System.Drawing.Color.White;

        chart.ChartAreas["Sizes"].AxisX.LineColor = System.Drawing.Color.White;
        chart.ChartAreas["Sizes"].AxisY.LineColor = System.Drawing.Color.White;

        Series chartSeries = chart.Series.Add("38.5");
        chartSeries.Legend = "Prices";
        chartSeries.LegendText = "Prices";
        chartSeries.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;
        chartSeries.XValueType = ChartValueType.DateTime;
        chartSeries.BorderWidth = 5;
        chartSeries.BorderColor = System.Drawing.Color.White;
        chartSeries.LabelForeColor = System.Drawing.Color.White;
        
        Dictionary<DateTime, int> sales = new Dictionary<DateTime, int>();
        sales.Add(DateTime.Now, random.Next(100, 200));
        sales.Add(DateTime.Now.AddDays(1), random.Next(100, 200));
        sales.Add(DateTime.Now.AddDays(2), random.Next(100, 200));
        sales.Add(DateTime.Now.AddDays(3), random.Next(100, 200));
        sales.Add(DateTime.Now.AddDays(4), random.Next(100, 200));
        sales.Add(DateTime.Now.AddDays(5), random.Next(100, 200));
        sales.Add(DateTime.Now.AddDays(6), random.Next(100, 200));

        foreach (var sale in sales)
        {
            chartSeries.Points.AddXY(sale.Key, sale.Value);
           
        }

        Debug.WriteLine(chart.ChartAreas["Sizes"].Axes.Count());
        for (int i = 0; i > chart.ChartAreas["Sizes"].Axes.Count(); i++)
            chart.ChartAreas["Sizes"].Axes[i].LineColor = System.Drawing.Color.White;

        string imageNameAndPath = Logic.programPath + "/chart.png";
        chart.SaveImage(imageNameAndPath, ChartImageFormat.Png);
    }

要更改 图表背景网格颜色,只需将 LineColor 设置为 MajorGrid 属性:

chart.ChartAreas["Sizes"].AxisX.MajorGrid.LineColor = System.Drawing.Color.White;
chart.ChartAreas["Sizes"].AxisY.MajorGrid.LineColor = System.Drawing.Color.White;

参考:link.

要更改 图表标签颜色 ,只需将 ForeColor 设置为 LabelStyle 属性:

chart.ChartAreas["Sizes"].AxisX.LabelStyle.ForeColor = System.Drawing.Color.White;
chart.ChartAreas["Sizes"].AxisY.LabelStyle.ForeColor = System.Drawing.Color.White;

参考:link.