在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,…
我一直在这里分析微软代码示例:微软图表控件的示例环境。您希望的行为可以通过以下任一选项完成:
- 使用多个Y轴(截图)重新调整您的数据。意味着拥有原始数据点的副本。然后修改第二个系列的轴属性。示例中有完整的代码。显然,你必须对X轴这样做。
- 使用主轴和副轴:AxisX和AxisX2。
- 使用自定义标签(截图)代码示例可以在上面的链接中找到。
您可以将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);