Я обнаружил элементы управления диаграммами Microsoft .Net из другого поста здесь, и до сих пор я их обожаю. Для тех, кто в этом нуждается, вот ссылка:
http://code.msdn.microsoft.com/mschart
Я делаю все во время выполнения, например, создаю серии и накладываю их на область диаграммы. Я могу успешно создать свечную диаграмму, предоставив ей значения X и 4 Y, и когда я добавлю ее на диаграмму, вот так:
// "Price" is the .Name property of this series
chart1.Series.Add(priceseries);
Отлично работает. Затем я просмотрел образцы, которые пришли с этим прекрасным контролем для финансовых формул. В примере сказано, что для использования формулы скользящего среднего (просто используя это в качестве примера, я не могу заставить их работать), код выглядит так:
chart1.DataManipulator.FinancialFormula(FinancialFormula.MovingAverage,"5","Input","Simple");
Где "5" - это период, который нужно использовать, так что это может быть все, что я хочу. «Вход» - это серия источников данных, а «Простой» - выходной ряд. Чтобы сделать это так, чтобы мой код работал, я создал кнопку и сделал следующее:
private void button1_Click(object sender, EventArgs e)
{
chart1.DataManipulator.FinancialFormula(FinancialFormula.MovingAverage, "5", "Price", "SMA");
}
Хорошо и просто, да? Что ж, как только я нажимаю на эту кнопку, мой элемент управления диаграммы отображает на графике большую, красную, несчастную X и НЕ серию скользящих средних (которую я назвал «SMA») в любом виде, форме или форме.
Добавляя к приведенному выше коду, я попытался предварительно создать серию «SMA», я попытался добавить серию «SMA» на график после выполнения вызова финансовой формулы, и оба заканчиваются большим средним красным X. Повторно просматривая пример кода, кажется, что единственная строка кода - это все, что нужно для генерации дополнительной серии данных, но я застрял! Это не помогает, что красный X не имеет никакой отладочной информации: (
Есть какие-нибудь идеи о том, как избавиться от большого X и заставить его отображать новую серию данных?
Обновление:
В качестве теста я удалил бит о добавлении ряда в Chart1, а затем добавил бит chart1.DataManipulator сразу после него. Как и ожидалось, начальная серия, в которой есть все мои исходные данные, не появляется (потому что я удалила деталь, добавив ее в диаграмму), но когда следующая строка кода выполняет приложение формулы - большого красного X нет. Нет данных показано, но без кода ошибки - так что я думаю, что это улучшение? Это наводит меня на мысль, что есть какая-то проблема либо с начальным набором данных, к которому я применяю формулу, либо с чем-то, связанным с видом / границами самого элемента управления диаграммы. Если я найду что-нибудь еще на этом треке, я опубликую это как второе обновление.