我从这里的另一篇文章中发现了 Microsoft 的 .Net 图表控件,到目前为止我喜欢它们。有需要的 friend 可以看链接:
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。没有数据显示,但也没有错误代码 - 所以我想这是一个改进?这让我相信我正在应用公式的初始数据集存在某种问题,或者与图表控件本身的 View /边界有关。如果我在该轨道上找到更多内容,我会将其作为第二次更新发布。
最佳答案
我发现了我的问题的根源:
priceseries.IsXValueIndexed = true;
我最初这样做是为了省略任何空白数据点(这将是股票价格场景中的周末)。当我将值更改为 false 时,突然间公式的应用工作正常。不利的一面是,我在没有数据的周末日期有空白点!但这是我可以自己解决的另一个问题。
对于遇到此问题的其他人,请参阅此引用文章以获取更多信息:
http://msdn.microsoft.com/en-us/library/dd456699(VS.100).aspx
关于首先对数据进行分组的说明可不是开玩笑的。不要省略任何数据点!
关于c# - Microsoft Chart Control - 每当我使用财务公式时,Big Red X(坏),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2352215/