【发布时间】:2014-10-16 11:01:06
【问题描述】:
我有一个 .net 程序,它允许用户从下拉列表和数据范围中选择一个图表,然后查询 sql 以获取数据以显示图表,一切都很好,除非他们选择一个只会返回 1 个值的日期范围那个特定的图表。
当发生这种情况时,由于图表上只有 1 个点,它不会显示任何折线图或面积图(它适用于条形图和柱形图)。
如果只有 1 个数据点,我曾考虑将图形类型强制为列,但我想知道如果只有 1 个数据点,我是否缺少允许折线图上的直线的设置。
基于伪造第二点的想法,我想出了这个技术,它在技术上做了我想要它做的事情。
只有 1 个点时调用此方法
foreach (Series ser in mainChart.Series)
{
ser.Points.AddY(ser.Points[0].YValues[0]);
}
我想我可能应该添加以防其他人需要,上面的代码需要在图表被 DataBound 之后(调用了 .DataBind())。
【问题讨论】:
-
一条线的定义是两个不全等的点。根据定义,一条线不能只有一个点。
-
是的,我知道线的定义,是的,我意识到它作为图表毫无意义,这无助于最终用户理解图表在技术上不是空的,但只有1 分。
-
然后添加第二个点。例如如果您的单个值为
(8,9),则添加(0,9)或(8,0)以生成通过您的点的水平/垂直线。 -
这基本上就是我问马克 B 是否有自动执行此操作的设置,我正在转换一个使用过时版本的基础架构的旧程序,并且在他们的图表上它似乎自动执行此操作.换句话说,无论点数如何,它都会显示一条线
-
示例必须是真实数据吗?如果示例没有正确的数据,您是否考虑过用第二点来伪造它?
标签: c# asp.net .net asp.net-charts