MS 图表:标签值上的不同颜色

MS Charts: Different colors on label values

他们是否有任何可能的方法在雷达图的每个 X 轴值上获得不同的颜色?

已经尝试过自定义标签,但没有用。

任何帮助将不胜感激。

AxisLabels.

既没有属性也没有 CustomAttributes 来实现这个

但是 CustomLabels 会很好地完成这项工作。

下面是一个例子,为 Series 中的每个 DataPoint 添加一个 CustumLabel 并赋予它随机颜色:

设置数据:

Random rnd = new Random(0);
List<Color> colors = new List<Color>() { Color.Red, Color.Firebrick, Color.Gold,
    Color.DeepPink, Color.Azure, Color.IndianRed, Color.ForestGreen };

ChartArea ca = chart.ChartAreas[0];

Series s = chart.Series[0];

for (int i = 1; i < 7; i++)
{
    s.Points.AddXY(i, i+ rnd.Next(20 - i));
}

现在添加CustomLabels:

foreach (var dp in s.Points)
{
    CustomLabel cl = new CustomLabel();
    cl.FromPosition = dp.XValue;
    cl.ToPosition = dp.XValue ;
    cl.Text = dp.YValues[0]+ "$";
    cl.ForeColor = colors[rnd.Next(colors.Count)];

    ca.AxisX.CustomLabels.Add(cl);
}

请注意,对于 ChartType Radar,这很简单;对于大多数其他类型,获得 FromPositionToPosition 是相当棘手的:你需要计算(通常)两点之间的中心..