Форматирование меток Microsoft Chart Control X Axis для конкретной точки данных - PullRequest
2 голосов
/ 27 июля 2011

В приложении winfow у меня есть ms диаграмма с 2 областями диаграммы.Первые области диаграммы содержат 4 серии (с накоплением и столбцом)

Мне нужно изменить цвет метки оси X для некоторой конкретной точки, но в VS 2010 я могу изменить только текст метки оси, но не цвет.

Есть ли способ сделать это?

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

В этой ссылке: http://msdn.microsoft.com/en-us/library/dd456628.aspx

вы найдете использование класса LabelStyle для изменения метки осей.Используйте свойство LabelStyle.ForeColor , чтобы изменить цвет метки.

1 голос
/ 04 сентября 2014

Я знаю, что для ОП уже слишком поздно, однако это может быть полезно для кого-то, кто ищет, как это сделать.

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

Этот код предполагает, что вам нужна метка для каждого значения X. Если у вас большое количество значений X, вам нужно будет откорректировать код.

double offset = 0.5;//Choose an offset that is 1/2 of the range between x values
for (int i = 0; i < chart1.Series[0].Points.Count; i++)
{
    var customLabel = new CustomLabel();
    //NOTE: the custom label will appear at the mid-point between the FromPosition and the ToPosition
    customLabel.FromPosition = chart1.Series[0].Points[i].XValue - offset; //set beginning position (uses axis values)
    customLabel.ToPosition = chart1.Series[0].Points[i].XValue + offset; //set ending position  (uses axis values)
    customLabel.Text = chart1.Series[0].Points[i].XValue.ToString(); //set the text to display, you may want to format this value
    if (i == 3)
    {
    customLabel.ForeColor = Color.Green;//only change the 3rd label to be green, the rest will default to black
    }
    chart1.ChartAreas[0].AxisX.CustomLabels.Add(customLabel);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...