C# 根据MS图表中其他两个系列的差异创建一个系列
在我的图表中创建了两个系列。我想创建另一个系列(H),其值是第一个系列(v1)的值减去第二个系列(S)的值。正如您所见,S是使用金融公式推导出来的。有人知道我如何创作H系列吗C# 根据MS图表中其他两个系列的差异创建一个系列,c#,charts,dataset,mschart,C#,Charts,Dataset,Mschart,在我的图表中创建了两个系列。我想创建另一个系列(H),其值是第一个系列(v1)的值减去第二个系列(S)的值。正如您所见,S是使用金融公式推导出来的。有人知道我如何创作H系列吗 chartIndicators.DataSource = data; chartIndicators.Series["v1"].XValueMember = "x"; chartIndicators.Series["v1"].YValueMembers = "y1"; chartIndicators.DataBind();
chartIndicators.DataSource = data;
chartIndicators.Series["v1"].XValueMember = "x";
chartIndicators.Series["v1"].YValueMembers = "y1";
chartIndicators.DataBind();
// transform to macd
chartIndicators.DataManipulator.FinancialFormula(FinancialFormula.MovingAverageConvergenceDivergence, "v1");
// signal
chartIndicators.DataManipulator.FinancialFormula(FinancialFormula.ExponentialMovingAverage, "9", "v1", "S");
我可以从以下数据集生成系列H吗?如果可以,我怎么做?还是有更好的方法
DataSet dsV1 = chartIndicators.DataManipulator.ExportSeriesValues("v1");
DataSet dsS = chartIndicators.DataManipulator.ExportSeriesValues("S");
我自己找到了解决办法:
for (int i = 0; i < dsS.Tables[0].DefaultView.Count;i++) {
double y = Convert.ToDouble(dsV1.Tables[0].DefaultView[i][1]) - Convert.ToDouble(dsS.Tables[0].DefaultView[i][1]);
double x = Convert.ToDateTime(dsV1.Tables[0].DefaultView[i][0]).ToOADate();
chartIndicators.Series["H"].Points.AddXY(x, y);
}
for(int i=0;i