繁体   English   中英

如何显示只有1个数据点的折线图

[英]How can I display a line chart with only 1 data point

我有一个.net程序,可以让用户从下拉列表中选择一个图表,然后在数据范围内查询sql以获取数据以显示该图表,否则一切都很好,除非他们选择的日期范围仅为该特定图表返回1个值。

发生这种情况时,由于图形上只有1个点,因此它不会在折线图或面积图上显示任何内容(它适用于条形图和柱形图)。

我曾想过如果只有1个数据点,则将图类型强制为列,但我想知道是否缺少一个设置,如果只有1个数据点,则该图将允许折线图上的直线。

很好地基于伪造第二点的想法,我想到了这一点,从技术上讲,它可以实现我想要的目标。

只有1点时调用

 foreach (Series ser in mainChart.Series)
 {
     ser.Points.AddY(ser.Points[0].YValues[0]);
 }

我想我应该补充一点,以防万一其他人需要这个,上面的代码需要在图表已被DataBound之后(已调用.DataBind())。

一条线的定义基本上是两点之间的间隔。 如果没有完全任意的点,就不能划出一条线。

一旦确定了该线应该定向到的角度,就可以创建一个第二个数据点来仿制该线,但是您希望它看起来像。 但这听起来确实像是您希望使用散点图而不是折线图。 我建议更改您使用的图表。 如果需要,您很可能也可以在散点图上画线。

我把这个放在我的问题中,但是既然是答案,我也会把它放在这里

只有1点时调用

foreach (Series ser in mainChart.Series)
{
   ser.Points.AddY(ser.Points[0].YValues[0]);
}

我遇到了同样的问题,我通过放置另一个具有相同值的数据点解决了这个问题,因此,当只有一个值时,它只是复制相同的值,您将放置该点。 因此,将类似于以下内容:

this.g.Series[serieID].Points.AddXY(x, y); // <-- Duplicate this line if you only have one value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM