如何获得白色图表的网格



我试图将图表的网格设置为白色。尝试了所有包含单词color的属性,将其设置为白色,但我没有找到方法。

我需要图表的网格是白色的,所以在黑色背景下,它是正确可见的。

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

当前图表的图像:https://i.stack.imgur.com/Rld8L.jpg

以下代码:

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;

参考:链接。

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

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

参考:链接。

最新更新