我从这里的另一篇文章中发现了 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。没有数据显示,但也没有错误代码 - 所以我想这是一个改进?这让我相信我应用公式的初始数据集存在某种问题,或者与图表控件本身的视图/边界有关。如果我在该轨道上发现更多内容,我会将其作为第二次更新发布。