MSChart控件中自定义X/Y网格线

3
我有一个带有简单2D线图的C#窗体,我想添加自定义的X或Y轴标记,并绘制自定义网格线(例如用突出颜色、虚线)。我已经查看了customLabels属性,但这似乎会覆盖默认的网格线显示,而我仍然希望显示默认网格线。这是为了说明某个阈值或截止点之类的东西。如何使用MSChart控件实现这一点?
非常感谢。
1个回答

3
你能通过条纹线实现你想要的效果吗?在 ms chart 示例中(可在此处获取:http://archive.msdn.microsoft.com/mschart),在“Using Custom Labels”部分中,它们在 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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接