Диаграмма .NET: Как добавить DataPoint с типами элементов, отличными от двойных? - PullRequest
3 голосов
/ 22 апреля 2011

Пространство имен, на которое я смотрю, - System.Windows.Forms.DataVisualization.Charting в .NET Framework 3.5.

Я создал Chart с именем chart1 и добавил Series с именем mySeries кэтот график.

В разделе данных этой серии в конструкторе у меня есть:

IsXValueIndexed --> False
Name --> mySeries
Points --> (Collection)
XValueType --> DateTime
YValuesPerPoint --> 1
YValueType --> Int32

Когда я пытаюсь добавить DataPoint s в серию, как это, кажется,Я не могу добавить их со значениями x и y соответствующего типа:

public void InitializeChart()
{
    Series theSeries = chart1.Series["mySeries"];

    // MyData is of type List<MyDatum> and MyDatum has two members --
    //    one of type DateTime and another of type int

    foreach (MyDatum datum in MyData)
    {
        // I'd like to construct a DataPoint with the appropriate types,
        //    but the compiler wants me to supply doubles to dp

        DataPoint dp = new DataPoint(mySeries);
        dp.XValue = datum.TimeStamp;
        dp.YValue = datum.MyInteger;

        radiosConnectedSeries.Points.Add(dp);         
    }
}

Чего мне не хватает?Спасибо как всегда!

Ответы [ 2 ]

4 голосов
/ 22 апреля 2011

DateTime.ToOADate () вернет отметку времени в виде двойного числа, которое можно использовать в качестве значения x

2 голосов
/ 22 апреля 2011

DataPoint не принимает другие типы для x и y.Вам нужно будет использовать datum.TimeStamp.Ticks для упорядочивания / сортировки, а затем установить свойство AxisLabel (string) для отображения DateTime.

...