如何按降序显示C#winforms图表x轴标签

时间:2016-07-18 14:46:35

标签: c# winforms charts

我有一个图表,其中按{降序排列DateTime值,但x轴标签按升序排列。如何获得与数据匹配的标签?

foreach (var eventData in eventResultsFinal) 
{
    sensorTimeStamp = ConvertFromUnixTimestamp(secondsSinceEpoch + 
                      Convert.ToInt32(eventData.t1)); 
    if (eventData.v1.Equals("active")) 
        chart1.Series[chartSeriesCounter].Points
              .AddXY(sensorTimeStamp.ToOADate(), 1 + yOffset); 
    else if (eventData.v1.Equals("inactive")) 
        chart1.Series[chartSeriesCounter].Points
              .AddXY(sensorTimeStamp.ToOADate(), 0 + yOffset); 
    }
}

enter image description here

见上图 - 时间戳正在增加,我希望它们减少。

1 个答案:

答案 0 :(得分:1)

如果要以相反的顺序显示数据,可以通过设置IsReversed属性来告诉X轴:

  chart1.ChartAreas[0].AxisX.IsReversed;

另一种选择,但推荐方式是将X值添加为strings而不是DateTimes。然后DataPoints将按照添加它们的相同方式进行排序,但您无法再使用X值了。

更新:由于反转X轴也会反转Y轴放置的顺序,您可能需要像这样设置Y轴:

chart1.ChartAreas[0].AxisY.Enabled = AxisEnabled.False;
chart1.ChartAreas[0].AxisY2.Enabled = AxisEnabled.True;

注意主要Y轴的所有样式现在应该转到辅助一个(AxisY2),包括任何CustomLabels