Reputation: 7006
I have a bar chart which shows different categories on the Y axis.
I can change the color of all of them on the axis at the same time by using:
chart.ChartAreas["MyChart"].AxisY.LabelStyle.ForeColor = "Red";
However it doesn't allow me to set the color for each of them.
Any help will be much appreciated.
Upvotes: 6
Views: 9805
Reputation: 7006
Ok The only solution I have found is to create a custom label and set the color that way:
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);
Upvotes: 2
Reputation: 1818
You can try adding custom labels to the chart, and that will allow you to modify each one individually.
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);
}
Upvotes: 4