我有一个带有图表的winform,在我的代码中我已经设置了:

//Enable range selection and zooming end user interface
        this.chart1.ChartAreas["ChartArea1"].CursorX.IsUserEnabled = true;
        this.chart1.ChartAreas["ChartArea1"].CursorY.IsUserEnabled = true;
        this.chart1.ChartAreas["ChartArea1"].CursorX.IsUserSelectionEnabled = true;
        this.chart1.ChartAreas["ChartArea1"].CursorY.IsUserSelectionEnabled = true;
        this.chart1.ChartAreas["ChartArea1"].AxisX.ScaleView.Zoomable = true;
        this.chart1.ChartAreas["ChartArea1"].AxisY.ScaleView.Zoomable = true;
        this.chart1.ChartAreas["ChartArea1"].AxisX.ScrollBar.IsPositionedInside = true;
        this.chart1.ChartAreas["ChartArea1"].AxisY.ScrollBar.IsPositionedInside = true;


它会根据选择进行缩放。但是,我的选择仅限于网格线。此外,选择后会有一个红色十字,该十字仅停留在固定的x轴值上。如何修改这种选择范围并不仅限于网格线/特定的固定x轴值?

我还将x轴类型设置为日期时间,即

this.chart1.Series[chanName].XValueType = ChartValueType.DateTime;


但是,x轴仅显示日期,而不显示时间。如何在x轴上显示日期和时间?谢谢!

最佳答案

通过设置LabelStyle.Format属性,可以在x轴上同时显示日期和时间。

this.chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format = "g";


您需要设置CursorX.Interval属性。其默认值为1.0。

this.chart1.ChartAreas["ChartArea1"].CursorX.Interval = 1 / 24.0 / 60.0; // 1 minute


您还可以将AxisX.ScaleView.MinSize属性设置为限制选择。未设置其默认值。

this.chart1.ChartAreas["ChartArea1"].AxisX.ScaleView.MinSize = 1 / 24.0 / 60.0;

关于c# - C#Winform图表,x轴的缩放和比例显示日期和时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20648774/

10-13 03:30