我不能以正确的格式得到一个提示
foreach (RootObject o in myRootObjects)
{
seriesTemperatur.Points.AddXY(DateTime.Parse(o.datum), o.temp);
seriesPressure.Points.AddXY(DateTime.Parse(o.datum), o.pressure);
}
__
private void chart2_GetToolTipText(object sender, ToolTipEventArgs e)
{
switch (e.HitTestResult.ChartElementType)
{
case ChartElementType.DataPoint:
var dataPoint = e.HitTestResult.Series.Points[e.HitTestResult.PointIndex];
e.Text = string.Format("Temperatur C:\t{1}\nData: {0}", dataPoint.XValue, dataPoint.YValues[0]);
break;
}
}
作为一个dataPoint.XValue日期我得到
dataPoint {{X=43459,6591203704, Y=3,19}},
但我需要X = “2018年11月22日HH:MM”。
var dataPoint = e.HitTestResult.Series.Points[e.HitTestResult.PointIndex];
e.Text = string.Format("Temperatur C:\t{1}\nData: {0}", dataPoint.XValue, dataPoint.YValues[0]);
我得到:
数据点{{X = 43459,6591203704,Y = 3,19}} System.Windows.Forms.DataVisualization.Charting.DataPoint
一个AxisLabel是空的
AxisLabel "" string
如果您的值添加DateTime
并要格式化他们用于其他目的不是Label
(这应该是能够使用其Format
字符串),你需要将它们转换。这同样适用,如果你想要做其他处理喜欢攀比或过滤器等。
事实上所有的图表值添加,总是被转换到double
。所以,你需要使用转换功能FromOADate:
var dataPoint = e.HitTestResult.Series.Points[e.HitTestResult.PointIndex];
DateTime dtx = DateTime.FromOADate(dataPoint.XValue);
e.Text = string.Format("Temperatur C:\t{1}\nData: {0}", dtx, dataPoint.YValues[0]);
你应该指定你这样的X轴的格式
chart.seriesTemperatur.XValueType = ChartValueType.DateTime;
chart.ChartAreas[0].AxisX.LabelStyle.Format = "yyyy-MM-dd HH:mm";
c.Series[i - 1].XValueType = ChartValueType.DateTime;