gpt4 book ai didi

c# - 微软图表 Winforms。如何去除空白点?

转载 作者:行者123 更新时间:2023-11-30 23:26:08 25 4
gpt4 key购买 nike

我使用 MSChart 控件创建蜡烛图(命名空间 System.Windows.Forms.DataVisualization.Charting)。我周五加了两点,周一加了两点。共四点。

结果,我看到四个烛台和它们之间的许多空白点。如何删除它?

谢谢。

var area = chart1.ChartAreas.Add("area1");                
area.AxisX.LabelStyle.Format = "yyyy.MM.dd HH:mm";

var series = new Series("prices", 4);

series.ChartArea = "area1";
series.ChartType = SeriesChartType.Candlestick;
series.XValueType = ChartValueType.DateTime;
series["OpenCloseStyle"] = "Triangle";
series["ShowOpenClose"] = "Both";
series["PointWidth"] = "0.6";
series["PriceUpColor"] = "Green";
series["PriceDownColor"] = "Red";

series.Points.AddXY(new DateTime(2016, 4, 25, 12, 0, 0), 2, 0.5, 0.7, 1.8);
series.Points.AddXY(new DateTime(2016, 4, 25, 11, 0, 0), 2, 0.5, 0.7, 1.8);
series.Points.AddXY(new DateTime(2016, 4, 22, 12, 0, 0), 2, 0.5, 0.7, 1.8);
series.Points.AddXY(new DateTime(2016, 4, 22, 11, 0, 0), 2, 0.5, 0.7, 1.8);

this.chart1.Series.Add(series);

enter image description here

最佳答案

这可以通过告诉 Chart,或者更确切地说 Series,您想要使用 X-Values 来解决(即作为数字)但不是用于放置 DataPoints

以下是您必须添加的内容:

  series.IsXValueIndexed = true;

这意味着您仍然可以格式化它们或以其他方式使用它们,例如计算,但放置是严格排列的 好像它们的值是索引 0,1,2... 或好像您将它们添加为字符串,导致 x 值实际上全部为 0,就像许多新手所做的那样。

现在你的图表看起来像这样(在这里):

enter image description here

如前所述您看到的差距不是由空点造成的。要创建一个 Empty DataPoint,您可以这样做:

series.Points[2].IsEmpty = true;

并告诉系列如何对待他们:

series.EmptyPointStyle.Color = Color.Transparent;
series.EmptyPointStyle.AxisLabel = " ";

注意 您添加的数据点未按日期排序。因此它们现在显得无序。解决它的最佳方法是在添加它们之前订购它们。

如果你不能这样做,你可以像这样对它们进行排序:

var sorted = series.Points.OrderBy(x => x.XValue).ToList();  // a sorted copy
series.Points.Clear();
foreach (DataPoint dp in sorted) series.Points.Add(dp);

enter image description here

订购了一个

关于c# - 微软图表 Winforms。如何去除空白点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36979940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com