RadHtmlChart 不跳过 NULL 值

RadHtmlChart not skipping NULL values

我有一个包含 NULL 值的 RadHtmlChart,而不是跳过或插入值,它们被计为零。

这是我的图表:

<Telerik:RadHtmlChart ID="rhc" runat="server">
    <PlotArea>
        <Series>
            <Telerik:ScatterLineSeries Name="Intl" DataFieldX="a1" DataFieldY="a2" MissingValues="Interpolate">
                <TooltipsAppearance DataFormatString="{1:N}% on {0:MM/dd}" />
                <MarkersAppearance Visible="true" />
            </Telerik:ScatterLineSeries>
            << - I have 7 more entries following - >>
        </Series>
        <XAxis BaseUnit="Weeks" Step="1">
            <LabelsAppearance DataFormatString="{0:MM/dd}" />
        </XAxis>
        <YAxis MaxValue="102" MinValue="0" Step="5">
            <TitleAppearance Text="Percentage" />
        </YAxis>
    </PlotArea>
    <Legend>
        <Appearance Position="Bottom" />
    </Legend>
</Telerik:RadHtmlChart>

我正在后面的代码中设置图表的数据源。这是一个小样本:

a1         a2     b1         b2     c1         c2     d1         d2
5/02/2016  100    5/02/2016  96     5/02/2016  100    5/02/2016  (NULL)
5/09/2016  100    5/09/2016  100    5/09/2016  100    5/09/2016  (NULL)
5/16/2016  66     5/16/2016  100    5/16/2016  100    5/16/2016  100
5/23/2016  88     5/23/2016  80     5/23/2016  100    5/23/2016  100
5/30/2016  100    5/30/2016  100    5/30/2016  100    5/30/2016  (NULL)

e1         e2     f1         f2     g1         g2     h1         h2
5/02/2016  100    5/02/2016  100    5/02/2016  100    5/02/2016  98
5/09/2016  100    5/09/2016  5      5/09/2016  100    5/09/2016  83
5/16/2016  100    5/16/2016  (NULL) 5/16/2016  (NULL) 5/16/2016  80
5/23/2016  20     5/23/2016  66     5/23/2016  (NULL) 5/23/2016  63
5/30/2016  100    5/30/2016  100    5/30/2016  (NULL) 5/30/2016  100

A​​1 到 H2 每个日期都是 1 条记录。我已经检查过我是否在每个系列上设置了 "MissingValues" 参数。我在调试模式下跟踪我的数据源,并确保在将其分配给图表之前没有任何值被设置为零,但它仍然显示为零。

不清楚预期的行为是什么。您是否希望完全不显示数值为空的日期?如果是这种情况,您最好在绑定之前从数据中删除它们。

抱歉,我的 VB 太生疏了,所以这里有一些 C#;

List<Day> dataSource = getData();

foreach(Day d in dataSource)
    if (d.Number == null)
        dataSource.Remove(d);