C#烛台图图形问题。没有可见的蜡烛体。蜡烛像线一样绘制

时间:2019-08-05 12:34:18

标签: c# plot graph

我正在尝试绘制从excel文件中获取并保存到烛台图表数组中的一些示例数据。我正在尝试的数据(如果有帮助的话)是一个外汇对(EUR / GBP比率),在外汇中,对报价用小数点后4位表示。

问题在于蜡烛的主体在图表上不可见,正如我在下图中所期望的那样(图像只是一个随机示例)。 example candlestick chart

我的蜡烛散布着几乎没有可见物体的线条。

my plotted candlestick chart

Y轴的最小值和最大值默认设置为0和1,因此在逻辑上我假设间隔是问题所在(我的样本数据大约为0.8500 min和0.9500 max),所以很自然地才能看到蜡烛体我试图减小最小和最大间隔,以便查看任何蜡烛主体,但这仅导致图表绘制空白,而在此处没有任何显示。 blank candle chart

只是为了测试周围的事物,我要绘制15个点。

要绘制那15个点

              if (i < 15)
               {
                    chart1.Series["Series1"].Points.AddXY(i, 0, 0, Open[i], Close[i]);

                }

绘图功能采用5个参数,arg1日期,arg2蜡烛低,arg3蜡烛高,arg4蜡烛开盘价,arg5蜡烛收盘价。

如果我有两支蜡烛,收盘价分别为0.8532和0.8539,开盘价分别为0.8530和0.8537,我应该已经看到这样的蜡烛主体 Expcted candle body

我唯一要尝试的是Y最小值和最大值,但没有解决方案,并且Y轴scaleview属性再次没有解决方案。

我最后想到的是让图表将小数点后4位作为绘制数据的主要值(我不知道该如何理解),有意义从右到左如果这是合理的。

有什么想念的吗?

我该怎么做才能正确看到蜡烛的身体?

为什么当我减小Y轴值间隔时我的图表变成空白。

在此先感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

这一切都取决于数据中的数字。

自动轴缩放将允许显示所有值。

当高/低为0/0或0/1时,它需要显示的范围从0到0.8539或从0到1。

但是身体只有从0.8530到0.8532。

因此,主体约为轴范围的2/1000。要使其显示,您将需要一个较大的图表高度。

请确保在数据中设置适当的值,并通过设置“最小/最大”值来帮助图表。

var ca = chart1.ChartAreas[0];
ca.AxisY.Minimum = 0.8500;
ca.AxisY.Maximum = 0.8570;

chart1.Series["Series1"].Points.Clear();
chart1.Series["Series1"].Points.AddXY(2, 0.8532, 0.8530, 0.8532, 0.8530);

结果:

enter image description here