#c# #charts #xvalue
#c# #Диаграммы #xvalue
Вопрос:
У меня проблема с получением значения AxisX.
Я добавляю новую форму точек dataTable
:
chart1.Series.Add(dataTable.Columns[x].Caption);
chart1.Series[dataTable.Columns[x].Caption].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
chart1.Series[dataTable.Columns[x].Caption].BorderWidth = 1;
for (int i = 0; i < dataTable.Rows.Count - 1; i )
chart1.Series[dataTable.Columns[x].Caption].Points
.AddXY(dataTable.Rows[i][0], dataTable.Rows[i][x]);
и я использую событие mouse_move, чтобы получить значения и отобразить их в метках.
private void chart1_MouseMove(object sender, MouseEventArgs e)
{
Point mousePoint = new Point(e.X, e.Y);
var pos = e.Location;
if (prevPosition.HasValue amp;amp; pos == prevPosition.Value)
return;
tooltip.RemoveAll();
prevPosition = pos;
var results = chart1.HitTest(pos.X, pos.Y, false,
ChartElementType.DataPoint);
foreach (var result in results)
{
if (result.ChartElementType == ChartElementType.DataPoint)
{
var prop = result.Object as DataPoint;
if (prop != null)
{
tooltip.Show("X=" DateTime.FromOADate(prop.XValue) "n Y=" prop.YValues[0], this.chart1,
pos.X, pos.Y - 15);
}
}
}
}
Странно, что prop.XValue
оно пустое. У кого-нибудь есть какие-нибудь идеи?
Комментарии:
1. Оно пустое или null, или преобразование
DateTime.FromOADate(prop.XValue)
завершается неудачей? Можете ли вы показатьprop.XValue.ToString()
вместо этого?2. ссылка Здесь приведены контрольные точки двух способов получения значения и показано, как это выглядит.
3. Хм. Странно. Можете ли вы показать мне, как устанавливается метка оси X? Существует ли более одной серии? Каков исходный тип данных для X?
4. хорошо, я беру данные из базы данных.
tooltip.Show("X=" dataTable.Rows[result.PointIndex][0].ToString() "n Y=" prop.YValues[0], this.chart1, pos.X, pos.Y - 15);
5. У меня есть еще один вопрос. Знаете ли вы функцию,
var results = chart1.HitTest(pos.X, pos.Y, false, ChartElementType.DataPoint);
которую я хочу использовать только для рассмотренияpos.X
.Pos.Y
может быть любым.