在system . windows . forms . datavizalization .图表中标记X轴

本文关键字:system windows forms datavizalization | 更新日期: 2023-09-27 18:10:35

我的图的x维由包含分钟数的双精度值组成。它们涵盖了一个星期的范围。虽然我在图表上正确显示这些值没有问题,但我希望x轴标签是工作日(小时:分钟精度在标签上不重要,但在图表上是存在的,因为星期一15:00是星期一和星期二之间的一个点,但放在星期一16:00之前,例如)。知道我该怎么做吗?

PS:上述数值以分钟为单位的计算公式为:#(星期)*24*60 +小时*60 +分钟,其中#(星期)=星期一0,星期二1,…

在system . windows . forms . datavizalization .图表中标记X轴

我一直在这里分析微软代码示例:微软图表控件的示例环境。您希望的行为可以通过以下任一选项完成:

  1. 使用多个Y轴(截图)重新调整您的数据。意味着拥有原始数据点的副本。然后修改第二个系列的轴属性。示例中有完整的代码。显然,你必须对X轴这样做。
  2. 使用主轴和副轴:AxisX和AxisX2。
  3. 使用自定义标签(截图)代码示例可以在上面的链接中找到。

您可以将ChartArea的相应Axis IntervalType设置为Days -假设您可以将分钟转换为天数。你说这里的核心思想是有一个"时间";基于图表,无论是分钟还是天,只需将分钟除以/(60[分钟]*24[小时])

你想要更大的时间跨度,可以通过计算与固定的开始时间/日期相关的分钟数来实现。

var chartArea = new System.Windows.Forms.DataVisualization.Charting.ChartArea
            {
                Name = "ChartArea1",
                AxisX = new System.Windows.Forms.DataVisualization.Charting.Axis
                {
                    IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Days
                }
            };
            //...//
            chart.ChartAreas.Add(chartArea);