C# 如何在图表区域内显示Y轴标签

C# 如何在图表区域内显示Y轴标签,c#,.net,mschart,C#,.net,Mschart,我有一个时间轴,我想在图表区内而不是在图表区外显示我的Y轴标签 这是我的密码 Series newSeries = new Series("hkld"); newSeries.ChartType = SeriesChartType.Line; newSeries.BorderWidth = 2; newSeries.Color = Color.OrangeRed; newSeries.XValueType = Cha

我有一个时间轴,我想在图表区内而不是在图表区外显示我的Y轴标签

这是我的密码

        Series newSeries = new Series("hkld");
        newSeries.ChartType = SeriesChartType.Line;
        newSeries.BorderWidth = 2;
        newSeries.Color = Color.OrangeRed;
        newSeries.XValueType = ChartVal

        chart1.ChartAreas[0].AxisY.IsReversed = true;
        chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = true;
        chart1.ChartAreas[0].AxisX.MinorGrid.Enabled = true;
        chart1.ChartAreas[0].AxisX.MajorGrid.LineWidth = 2;
        chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.Gray;
        chart1.ChartAreas[0].AxisX.Minimum = 0;
        chart1.ChartAreas[0].AxisX.Maximum = 1000000; 
        chart1.ChartAreas[0].AxisX.Interval = 200000; //major interval
        chart1.ChartAreas[0].AxisX.MinorGrid.Interval = 20000; //minor interval
        chart1.ChartAreas[0].AxisX.MinorGrid.LineDashStyle = ChartDashStyle.Dot;
        chart1.ChartAreas[0].AxisX.MajorTickMark.Enabled = false;
        chart1.ChartAreas[0].AxisY.MajorTickMark.Enabled = false;
        chart1.ChartAreas[0].AxisY.IntervalType = DateTimeIntervalType.Minutes;
        chart1.ChartAreas[0].AxisY.Interval = 2;
        chart1.ChartAreas[0].AxisY.LabelStyle.Format = "HH:mm:ss";
        chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = true;
        chart1.ChartAreas[0].AxisY.MinorGrid.Enabled = true;
        chart1.ChartAreas[0].AxisY.MajorGrid.LineWidth = 2;
        chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.Gray;
        chart1.ChartAreas[0].AxisY.MinorGrid.IntervalType =               DateTimeIntervalType.Minutes;
        chart1.ChartAreas[0].AxisY.MinorGrid.Interval = 2;
        chart1.ChartAreas[0].AxisY.MinorGrid.LineDashStyle = ChartDashStyle.Dash;
        chart1.ChartAreas[0].BorderColor = Color.Black;
        chart1.ChartAreas[0].BorderWidth = 3;
        chart1.ChartAreas[0].BorderDashStyle = ChartDashStyle.Solid;
        chart1.ChartAreas[0].Position.X = 5;
        chart1.ChartAreas[0].Position.Y = 5;
        chart1.ChartAreas[0].Position.Width = 90;
        chart1.ChartAreas[0].Position.Height = 90;
        chart1.ChartAreas[0].InnerPlotPosition.Height = 100;
        chart1.ChartAreas[0].InnerPlotPosition.Width = 80;
        chart1.ChartAreas[0].InnerPlotPosition.X = 20;
        chart1.ChartAreas[0].Position.Auto = false;
这是我的图表图片:

以下是我想要实现的目标:


注意:我的图表是一个实时图表,因此时间值将随着时间的继续而更新和增加(动态轴)

我认为您不能移动标签,但可以随标签一起移动轴。为此,请为设置一个合适的值

MSDN:

为主轴设置此属性将确定 其他主轴与之相交,并将其类似地设置为 次轴将确定其他次轴的交叉位置 信息技术例如,设置主X轴的交叉特性 确定主Y轴与之相交的位置

轴的交叉特性可使用四种模式:

  • “自动”,这意味着交叉值将设置为相关轴的最小值或最大值

  • “最小”,这意味着轴的交叉值将是其最小值

  • “最大”,这意味着轴的交叉值将是其最大值

  • 在相关轴的最小值和最大值之间的指定双精度值

这会将其移动到最后一个数据点的x值:

Axixs ax = chart1.ChartAreas[0].AxisX;
ax.Crossing = mySeries.Points.Last().XValue;
如果知道数据,可以使用固定值

谢谢,这正是我需要的