C#烛台绘图问题。没有可见的蜡烛体。蜡烛画得像线

C#烛台绘图问题。没有可见的蜡烛体。蜡烛画得像线,c#,plot,graph,C#,Plot,Graph,我试图绘制一些从excel文件中获得的样本数据,并将其保存到烛台图表中的数组中。我正在尝试的数据(如果有帮助的话)是外汇对(欧元/英镑比率),在外汇中,外汇对的报价在小数点后4位 问题是蜡烛的主体在图表上不可见,正如我在下图中所预期的那样(图只是一个随机示例)。 我的蜡烛画得像线条,几乎看不见身体 Y轴最小值和最大值默认设置为0和1,因此从逻辑上讲,我假设间隔是问题所在。(我的样本数据约为0.8500 min和0.9500 max)因此,为了看到蜡烛主体,我尝试减小最小和最大间隔,以便看到任

我试图绘制一些从excel文件中获得的样本数据,并将其保存到烛台图表中的数组中。我正在尝试的数据(如果有帮助的话)是外汇对(欧元/英镑比率),在外汇中,外汇对的报价在小数点后4位

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

我的蜡烛画得像线条,几乎看不见身体

Y轴最小值和最大值默认设置为0和1,因此从逻辑上讲,我假设间隔是问题所在。(我的样本数据约为0.8500 min和0.9500 max)因此,为了看到蜡烛主体,我尝试减小最小和最大间隔,以便看到任何蜡烛主体,但这只会导致我的图表空白,什么都没有。

为了测试周围的情况,我画了15个点

来描绘这15点

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

                }
if(i<15)
{
图表1.系列[“系列1”]点.AddXY(i,0,0,打开[i],关闭[i]);
}
绘图函数包含5个参数,arg1日期、arg2烛光低点、arg3烛光高点、arg4烛光开盘价、arg5烛光收盘价

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

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

我能想到的最后一件事是,让图表考虑到小数点后4位作为主要值,它绘制数据(我不知道如何理解),如果这有意义,从右到左进行意义

有什么我错过的吗

我怎样才能正确地看到蜡烛的主体

为什么当我减少Y轴值间隔时,我的图表会变成空白


提前感谢,任何建议都会很有帮助。

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

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

当高/低为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);
结果:


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

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

当高/低为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);
结果:


您是否尝试设置一个低值和一个高值?当它们为0时,身体从何而来?顺便说一句,这些打开/关闭值非常接近,因此差别不大。一定要和你的价值观玩得更多!是的,我尝试将低值设置为0.7500,高值设置为0.9500。这会使我的图表变为空白。最初,默认情况下,它们被设置为0和1,并绘制类似的线。在外汇中,小数点后4位在烛光体中产生了很大的差异,0.0009的差异就像0-10刻度中的9。我希望这是有意义的。在外汇中,小数点后4位对蜡烛体有很大的影响,是吗?y值从0变为1,因此,不,0.0001没有明显的差异!您至少应该为高和低使用一个合理的值,而不是0,否则量程将始终处于关闭状态。您可以在打开和关闭时使用相同的选项,可能:
AddXY(i,打开[i],关闭[i],打开[i],关闭[i])
您是否尝试设置一个低值和高值?当它们为0时,身体从何而来?顺便说一句,这些打开/关闭值非常接近,因此差别不大。一定要和你的价值观玩得更多!是的,我尝试将低值设置为0.7500,高值设置为0.9500。这会使我的图表变为空白。最初,默认情况下,它们被设置为0和1,并绘制类似的线。在外汇中,小数点后4位在烛光体中产生了很大的差异,0.0009的差异就像0-10刻度中的9。我希望这是有意义的。在外汇中,小数点后4位对蜡烛体有很大的影响,是吗?y值从0变为1,因此,不,0.0001没有明显的差异!您至少应该为高和低使用一个合理的值,而不是0,否则量程将始终处于关闭状态。您可以在打开和关闭时使用相同的方法,可能:
AddXY(i,打开[i],关闭[i],打开[i],关闭[i])
这次它的工作方式与您呈现的方式相同。我知道轴会自动缩放,但由于我将“0”的值设置为蜡烛的低值和高值(chart1.Series[“Series1”].Points.AddXY(I,0,0,open,close)),它弄乱了我的缩放。它会自动从0缩放到我的数据样本的最大值,当我手动缩放轴时,它会导致我的数据变为空白,因为它超出了范围,因为我绘制了0的值(0的低值和高值)。我明白我错在哪里了,谢谢。这一次它是按照你的方式运作的。我知道轴会自动缩放,但由于我将“0”的值设置为蜡烛的低值和高值(chart1.Series[“Series1”].Points.AddXY(I,0,0,open,close)),它弄乱了我的缩放。它会自动从0缩放到我的数据样本的最大值,当我手动缩放轴时,它会导致我的数据变为空白,因为它超出了范围,因为我绘制了0的值(0的低值和高值)。我知道我错在哪里了,谢谢。