I can't get a hint in the right format
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;
}
}
As a Date in dataPoint.XValue i get
dataPoint {{X=43459,6591203704, Y=3,19}},
But i need 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]);
i get:
dataPoint {{X=43459,6591203704, Y=3,19}} System.Windows.Forms.DataVisualization.Charting.DataPoint
AxisLabel is empty
AxisLabel "" string
If your values were added as DateTime
and you want to format them for some other purpose than a Label
(which ought to be able to use its Format
string) you will need to convert them. The same applies if you want to do other processing like comparisons or filters etc..
In fact all the chart values you add, always get converted to double
. So you need to use the conversion function 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]);
You should specify format of your X axis like this
chart.seriesTemperatur.XValueType = ChartValueType.DateTime;
chart.ChartAreas[0].AxisX.LabelStyle.Format = "yyyy-MM-dd HH:mm";
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With