MS Chart: Как вы можете изменить цвет каждой метки на оси гистограммы? - PullRequest
6 голосов
/ 09 марта 2012

У меня есть гистограмма, которая показывает различные категории на оси Y.

Я могу изменить цвет всех из них на оси одновременно, используя:

 chart.ChartAreas["MyChart"].AxisY.LabelStyle.ForeColor = "Red";

Однако это не позволяет мне устанавливать цвет для каждого из них.

Любая помощь будет высоко ценится.

Ответы [ 2 ]

4 голосов
/ 10 марта 2012

Вы можете попробовать добавить пользовательские метки на график, и это позволит вам изменять каждую из них в отдельности.

private void AddCustomLabelAtYValue(double YValue, string Text, Color ForeColor)
{
    double scale = chart.ChartAreas["MyChart"].AxisY.Maximum - 
        chart.ChartAreas["MyChart"].AxisY.Minimum;
    double offset = scale * 0.5;
    CustomLabel customLabel = new CustomLabel(YValue - offset, 
        YValue + offset, Text, 0, LabelMarkStyle.None);
    customLabel.ForeColor = ForeColor;
    chart.ChartAreas["MyChart"].AxisY.CustomLabels.Add(customLabel);
}
2 голосов
/ 12 марта 2012

ОК. Единственное решение, которое я нашел, - это создать собственную метку и установить цвет таким образом:

this._chart.ChartAreas[0].AxisX.CustomLabels.Add(new CustomLabel(position - 1, position + 1, point.AxisLabel, 0, LabelMarkStyle.None));

this._chart.ChartAreas[0].AxisX.CustomLabels[position - 1].ForeColor = GetColor(point.AxisLabel);
...