Sie*_*eon 9 c# charts winforms
我可能会问错误的问题,但我需要的是在我的Windows窗体图表中添加"引导线".换句话说,我有一个简单的数据系列图表,我需要在通过分数的y轴上绘制一条线,或80%.我不想添加第二个系列,因为第一个系列具有未确定数量的数据点.有一种简单的方法可以简单地在y轴上画一条线吗?下面的虚线是我拍摄的(它不需要箭头).
100|
|
90|
| o
80|<----------------------->
|
70| o o
|
60| o
| o o
50|o o
|_________________________
1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)
抱歉重复Don Kirkby的回答,但我还没有代表添加评论.
使用HorizontalLineAnnotation可以设置ClipToChartArea,它将限制线的范围到图表内,以解决您提到的问题.
ChartArea area = ...;
var line = new HorizontalLineAnnotation();
line.IsInfinitive = true; // make the line infinite
line.ClipToChartArea = area.Name;
line.LineDashStyle = ChartDashStyle.Dash;
Run Code Online (Sandbox Code Playgroud)
假设您的y轴以0..1的比例保持值,则可以使用该线将该线附加到Y轴line.AxisY = area.AxisY,这将导致其位置被解释为轴值,然后设置line.Y = 0.8;为在80%位置附加.
您可以添加StripLine。
使用StripWidth属性设置行位置:
var series = chart1.Series[0]; //series object
var chartArea = chart1.ChartAreas[series.ChartArea];
chartArea.AxisY.StripLines.Add(new StripLine
{
BorderDashStyle = ChartDashStyle.Dash,
BorderColor = Color.DarkBlue,
StripWidth = 80//Here is your y value
});
Run Code Online (Sandbox Code Playgroud)
更新:此答案的先前版本使用Interval而不是StripWidth. 正如 @dthor在评论中正确指出的那样,设置Interval将绘制一条重复的带状线。在上面的示例中,Interval默认设置为 0。