我有一个带有简单2D折线图的C#Windows窗体,我想向其中添加自定义X或Y轴标记,并绘制自定义网格线(例如,以高亮显示的颜色,如虚线)。我已经看过customLabels属性,但这似乎覆盖了我仍要显示的默认网格。这是为了说明阈值或截止值。如何使用MSChart控件执行此操作?

非常感谢

最佳答案

带状线可以实现您想要的功能吗?

在ms图表示例(在此处获取http://archive.msdn.microsoft.com/mschart)中,在“使用自定义标签”部分中,它们在Y轴上使用带状线,在突出显示值范围方面非常有效。它们也不会影响网格。我检查了一下示例代码,以使我可以轻松地移动带状线的边界(请参见下文)。

double low_med = 17; // was 30
double med_hi = 92;  // was 70

// Set Y axis custom labels
axisY.CustomLabels.Add(0, low_med, "Low");
axisY.CustomLabels.Add(low_med, med_hi, "Medium");
axisY.CustomLabels.Add(med_hi, 100, "High");

StripLine stripLow = new StripLine();
stripLow.IntervalOffset = 0;
stripLow.StripWidth = low_med;
stripLow.BackColor = Color.FromArgb(64, Color.Green);

StripLine stripMed = new StripLine();
stripMed.IntervalOffset = low_med;
stripMed.StripWidth = med_hi - low_med;
stripMed.BackColor = Color.FromArgb(64, Color.Orange);

StripLine stripHigh = new StripLine();
stripHigh.IntervalOffset = med_hi;
stripHigh.StripWidth = 100 - med_hi;
stripHigh.BackColor = Color.FromArgb(64, Color.Red);

axisY.StripLines.Add(stripLow);
axisY.StripLines.Add(stripMed);
axisY.StripLines.Add(stripHigh);

09-06 12:13