X 轴数据时间的 C# 图表缩放问题

标签 c# datetime zooming charts

使用 MS Charting for .NET,我试图放大我创建的图表。

这在 Y 轴(type = float)和 X 轴(如果 type = int)上工作正常,但是当我在 X 轴上有 DateTime 值时,滚动在该轴上的行为不正常。

在垂直方向上,一切仍然正常,但是虽然我可以放大 X 轴,但我无法拖动滑动条移动到我放大的位置。但是,我可以单击任一侧,它会跳转。

有谁知道如何解决这个问题并使其表现得像处理浮点值一样?

谢谢!

最佳答案

根据您的数据,尝试将图表区域的 CursorX.IntervalType 属性设置为 Auto 以外的值。

在放大后尝试使用滚动条的小滚动箭头时,您可能会遇到类似的问题。要解决此问题,您可以尝试设置图表区域的 AxisX.ScaleView.SmallScrollSizeType 属性与 CursorX.IntervalType 相同。

例如,如果您有一个每 30 秒报告一次数据的图表,您可以使用以下设置:

        chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
        chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
        chart1.ChartAreas[0].CursorX.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Minutes;
        chart1.ChartAreas[0].CursorX.Interval = 0.5D;

        chart1.ChartAreas[0].AxisX.ScaleView.SmallScrollSizeType = DateTimeIntervalType.Minutes;
        chart1.ChartAreas[0].AxisX.ScaleView.SmallScrollSize = 0.5D;
        chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
        chart1.ChartAreas[0].AxisX.LabelStyle.Format = "hh:mm:ss";

关于X 轴数据时间的 C# 图表缩放问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4677964/

相关文章:

c# - 秒表和 DateTime.UtcNow 产生意外大的时间变化

javascript - 移动设备上的 Highchart(触摸缩小和放大)- LineChart

c# - MessagingSystem 导致 NullReferenceException

c# - 遍历数据库表行 C#

c# - ASP.NET 用户消息传递/聊天 - 现成的解决方案?

WPF。如何只显示大 Canvas 的一部分?

iphone - 如何使用 UIScrollView 捕捉缩放?

c# - 如何将GridView转换为DataTable并对DataTable进行排序?

python - 使用 Numpy datetime64 对象索引/切片 Pandas DataFrame

mysql - 如何使用 MySQL 合并连续的日期和时间行