为特定数据点格式化微软图表控制X轴标签



在一个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);
}

相关内容

  • 没有找到相关文章

最新更新