见图。 12,845.63英镑是第一列标签。我尝试在空白,新鲜的图表上运行下面的代码,所有默认设置(白色背景)也做同样的事情。
我正在填充这样的图表:
private void InitializeData()
{
chart1.Series.Clear();
double i = 0;
double spacing = 0.1;
foreach (DataRow rows in DailyBarChartT.Rows)
{
Series series = chart1.Series.Add(rows[0].ToString());
series.Points.AddXY(i, rows[1]);
series.IsValueShownAsLabel = true;
series.LabelFormat = "C";
series.LabelForeColor = Color.White;
i = i + spacing;
}
chart1.Update();
}
我猜这个号码不适合蓝色吧?我怎么能解决这个问题?我已经尝试将标签边距设置为0以及其他一些东西。
将我的“间距”变量设置为0,将标签设置为正确的位置。如何在间距正确的位置使用它?
您为每个值创建一个新系列,这不是您应该如何做到的。如果为所有值创建一个系列,则间距可以正常工作。
快速示例代码(适用于默认图表):
string[] values =
{
"12845.63", "1174.89",
"344.04", "180.83",
"82.50", "55.00"
};
chart1.ChartAreas[0].BackColor = Color.Black;
chart1.Series.Clear();
Series series = new Series();
series.IsValueShownAsLabel = true;
series.LabelFormat = "C";
series.LabelForeColor = Color.White;
foreach (var value in values)
{
var pointIndex = series.Points.AddY(value);
series.Points[pointIndex].AxisLabel = "Custom label for each value here";
}
chart1.Series.Add(series);