在一个windows应用程序中,我有一个带有2个图表区域的ms图表。第一个图表区域包含4个系列(堆叠和条形)
我需要更改某些特定点的X轴标签颜色,但在VS 2010中,我只能更改axislabel文本而不能更改颜色。
有办法吗?
在此链接中:http://msdn.microsoft.com/en-us/library/dd456628.aspx
你会发现使用LabelStyle类来改变轴的标签。使用 LabelStyle。foreolor 属性改变标签的颜色
我知道这对于OP来说太晚了,但是对于其他人寻找如何做到这一点可能是有用的。
一个自定义标签允许你设置颜色,问题是,如果你添加一个自定义标签,那么所有的标准标签都消失了,所以你必须为整个轴创建自定义标签,然后为你想要不同的一个设置颜色。
这段代码假设每个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);
}