[FIXED] [#1486] [4.3.0] Handle null values as gaps in a Line Chart

Page 1 of 2 12 LastLast
  1. #1

    [FIXED] [#1486] [4.3.0] Handle null values as gaps in a Line Chart

    We have some data in our series that have null for some fields. We want nulls to just not be rendered on the chart. In 2.x, we were able to do this by setting up a Convert handler for the field, to have null converted to "false." See the threads below on this workaround. In 4.x, the data points with a value of false get charted as 0 instead of showing up as a gap in the chart, so this workaround no longer works.

    https://forums.ext.net/showthread.ph...e-chart-series

    https://forums.ext.net/showthread.ph...p-axis-scaling

    Do you know how to get this behavior working in 4.x? This extjs thread seems related -- unfortunately it seems it wasn't resolved:

    https://www.sencha.com/forum/showthr...de-to-5-1-beta
    Last edited by fabricio.murta; May 27, 2017 at 5:34 AM.
  2. #2
    Hello @tylert!

    Well, I'm not sure what to say because I just tried getting an example and making absent data, without any changes (other than providing the data with gaps) I got the gaps as "gaps" in the drawn chart.

    Take a look on this simplified line chart example, taken as base Basic Line Chart example (base chart and one-page data) and Image Markers example (for two data series in the same numeric y-axis range):

    <%@ Page Language="C#" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Chart1.GetStore().DataSource = new List<object>
            {
                new { Month = "Jan", Data1 = 20, Data2 = 10 },
                new { Month = "Feb", Data1 = 20, Data2 = 10 },
                new { Month = "Mar", Data1 = 19, Data2 = 9 },
                new { Month = "Apr", Data1 = 18, Data2 = 8 },
                new { Month = "May", Data1 = 18, Data2 = 8 },
                new { Month = "Jun", Data2 = 7 },
                new { Month = "Jul", Data1 = 16, Data2 = 6 },
                new { Month = "Aug", Data1 = 16 },
                new { Month = "Sep", Data1 = 16, Data2 = 6 },
                new { Month = "Oct", Data1 = 16, Data2 = 6 },
                new { Month = "Nov", Data1 = 15, Data2 = 5 },
                new { Month = "Dec", Data1 = 15, Data2 = 5 }
            };
        }
    </script>
    
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <title>Line Chart - Ext.NET Examples</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
    
            <h1>Line Chart Example</h1>
    
            <p>A basic line chart displays information as a series of data points connected through</p>
            <p>straight lines. It is similar to scatter plot, except that the points are connected.</p>
            <p>Line charts are often used to visualize trends in data over a period.</p>
    
            <ext:Panel
                runat="server"
                Width="650"
                Height="550"
                Layout="FitLayout">
                <TopBar>
                    <ext:Toolbar runat="server">
                        <Items>
                            <ext:ToolbarFill runat="server" />
    
                            <ext:Button
                                runat="server"
                                Text="Preview"
                                Handler="this.up('panel').down('chart').preview();" />
                        </Items>
                    </ext:Toolbar>
                </TopBar>
                <Items>
                    <ext:CartesianChart
                        ID="Chart1"
                        runat="server"
                        InsetPadding="40"
                        InnerPadding="0 40 0 40">
                        <Store>
                            <ext:Store runat="server">
                                <Model>
                                    <ext:Model runat="server">
                                        <Fields>
                                            <ext:ModelField Name="Month" />
                                            <ext:ModelField Name="Data1" />
                                            <ext:ModelField Name="Data2" />
                                        </Fields>
                                    </ext:Model>
                                </Model>
                            </ext:Store>
                        </Store>
    
                        <Interactions>
                            <ext:PanZoomInteraction ZoomOnPanGesture="true" />
                        </Interactions>
    
                        <Items>
                            <ext:TextSprite
                                Text="Line Charts - Line With data Gaps"
                                FontSize="22"
                                Width="100"
                                Height="30"
                                X="40"
                                Y="20" />
                        </Items>
    
                        <Axes>
                            <ext:NumericAxis
                                Position="Left"
                                Fields="Data1,Data2"
                                Grid="true"
                                Minimum="0"
                                Maximum="24">
                                <Renderer Handler="return layoutContext.renderer(label) + '%';" />
                            </ext:NumericAxis>
    
                            <ext:CategoryAxis
                                Position="Bottom"
                                Fields="Month"
                                Grid="true">
                                <Label RotationDegrees="-45" />
                            </ext:CategoryAxis>
                        </Axes>
                        <Series>
                            <ext:LineSeries XField="Month" YField="Data1">
                                <StyleSpec>
                                    <ext:Sprite LineWidth="4" />
                                </StyleSpec>
    
                                <HighlightConfig>
                                    <ext:Sprite FillStyle="#000" Radius="5" LineWidth="2" StrokeStyle="#fff" />
                                </HighlightConfig>
                                <Marker>
                                    <ext:Sprite Radius="4" />
                                </Marker>
                                <Label Field="Data1" Display="Over" />
                            </ext:LineSeries>
                            <ext:LineSeries XField="Month" YField="Data2">
                                <StyleSpec>
                                    <ext:Sprite LineWidth="4" />
                                </StyleSpec>
    
                                <HighlightConfig>
                                    <ext:Sprite FillStyle="#000" Radius="5" LineWidth="2" StrokeStyle="#fff" />
                                </HighlightConfig>
                                <Marker>
                                    <ext:Sprite Radius="4" />
                                </Marker>
                                <Label Field="Data2" Display="Over" />
                            </ext:LineSeries>
                        </Series>
                    </ext:CartesianChart>
                </Items>
            </ext:Panel>
        </form>
    </body>
    </html>
    I see this when I run this page:
    Click image for larger version. 

Name:	61934-lineChartWithGaps.png 
Views:	177 
Size:	31.4 KB 
ID:	24958

    So, probably there's something missing that only you can provide us with, maybe the way you can provide the data from your model.

    Well, guessing won't take us much far, so check this example and if it does not help, let us know how to run something that reproduces the scenario you are facing and we can work over it, hopefully.

    Data gaps "model" was taken considering this post on first thread you linked: post #2 on Handle null values in line chart series thread.
    Fabrício Murta
    Developer & Support Expert
  3. #3
    Hey @fabricio.murta, I found the difference in your example compared to my code that causes the nulls to show up as 0. Try changing the type of the Data1 and Data2 to Float like this:

    <Fields>
        <ext:ModelField Name="Month" />
        <ext:ModelField Name="Data1" Type="Float" />
        <ext:ModelField Name="Data2" Type="Float"/>
    </Fields>
    Thanks.
  4. #4
    Hello @tylert!

    It makes perfect sense, if you are casting it to a float type... A float type does not allow nulls... Well, unless told to (in JavaScript world, at least!).

    Just set AllowNull="True" and you should be good.

    Check out what else you can set with fields. The docs here reflect very well what else can be set and what they do: Ext.data.field.Field.

    I hope this helps!
    Fabrício Murta
    Developer & Support Expert
  5. #5
    I had previously tried AllowNull, but unfortunately it still doesn't work for my case. We are not setting a minimum and maximum for our axis. In your example, remove the Maximum and Minimum property settings for the NumericAxis, along with setting AllowNull to true and leaving the field as a Float type. This results in a javascript error: "Uncaught TypeError: Cannot read property 'toPrecision' of null."

    We need to not set a minimum and maximum on our axis and instead have it automatically calculated, because we allow for series to enabled/disabled and it is convenient to have the axis adjust dynamically.

    Here is the modified example code I'm working with:

    <%@ Page Language="C#" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Chart1.GetStore().DataSource = new List<object>
            {
                new { Month = "Jan", Data1 = 20.3, Data2 = 10.3 },
                new { Month = "Feb", Data1 = 20, Data2 = 10 },
                new { Month = "Mar", Data1 = 19, Data2 = 9 },
                new { Month = "Apr", Data1 = 18, Data2 = 8 },
                new { Month = "May", Data1 = 18, Data2 = 8 },
                new { Month = "Jun", Data2 = 7 },
                new { Month = "Jul", Data1 = 16, Data2 = 6 },
                new { Month = "Aug", Data1 = 16 },
                new { Month = "Sep", Data1 = 16, Data2 = 6 },
                new { Month = "Oct", Data1 = 16, Data2 = 6 },
                new { Month = "Nov", Data1 = 15, Data2 = 5 },
                new { Month = "Dec", Data1 = 20, Data2 = 5 }
            };
        }
    </script>
    
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <title>Line Chart - Ext.NET Examples</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
    
            <h1>Line Chart Example</h1>
    
            <p>A basic line chart displays information as a series of data points connected through</p>
            <p>straight lines. It is similar to scatter plot, except that the points are connected.</p>
            <p>Line charts are often used to visualize trends in data over a period.</p>
    
            <ext:Panel
                runat="server"
                Width="650"
                Height="550"
                Layout="FitLayout">
                <TopBar>
                    <ext:Toolbar runat="server">
                        <Items>
                            <ext:ToolbarFill runat="server" />
    
                            <ext:Button
                                runat="server"
                                Text="Preview"
                                Handler="this.up('panel').down('chart').preview();" />
                        </Items>
                    </ext:Toolbar>
                </TopBar>
                <Items>
                    <ext:CartesianChart
                        ID="Chart1"
                        runat="server"
                        InsetPadding="40"
                        InnerPadding="0 40 0 40">
                        <Store>
                            <ext:Store runat="server">
                                <Model>
                                    <ext:Model runat="server">
                                        <Fields>
                                            <ext:ModelField Name="Month" />
                                            <ext:ModelField Name="Data1" Type="Float"  AllowNull="true" />
                                            <ext:ModelField Name="Data2" />
                                        </Fields>
                                    </ext:Model>
                                </Model>
                            </ext:Store>
                        </Store>
    
                        <Interactions>
                            <ext:PanZoomInteraction ZoomOnPanGesture="true" />
                        </Interactions>
    
                        <Items>
                            <ext:TextSprite
                                Text="Line Charts - Line With data Gaps"
                                FontSize="22"
                                Width="100"
                                Height="30"
                                X="40"
                                Y="20" />
                        </Items>
    
                        <Axes>
                            <ext:NumericAxis
                                Position="Left"
                                Fields="Data1,Data2"
                                Grid="true">
                                <Renderer Handler="return layoutContext.renderer(label) + '%';" />
                            </ext:NumericAxis>
    
                            <ext:CategoryAxis
                                Position="Bottom"
                                Fields="Month"
                                Grid="true">
                                <Label RotationDegrees="-45" />
                            </ext:CategoryAxis>
                        </Axes>
                        <Series>
                            <ext:LineSeries XField="Month" YField="Data1">
                                <StyleSpec>
                                    <ext:Sprite LineWidth="4" />
                                </StyleSpec>
    
                                <HighlightConfig>
                                    <ext:Sprite FillStyle="#000" Radius="5" LineWidth="2" StrokeStyle="#fff" />
                                </HighlightConfig>
                                <Marker>
                                    <ext:Sprite Radius="4" />
                                </Marker>
                                <Label Field="Data1" Display="Over" />
                            </ext:LineSeries>
                            <ext:LineSeries XField="Month" YField="Data2">
                                <StyleSpec>
                                    <ext:Sprite LineWidth="4" />
                                </StyleSpec>
    
                                <HighlightConfig>
                                    <ext:Sprite FillStyle="#000" Radius="5" LineWidth="2" StrokeStyle="#fff" />
                                </HighlightConfig>
                                <Marker>
                                    <ext:Sprite Radius="4" />
                                </Marker>
                                <Label Field="Data2" Display="Over" />
                            </ext:LineSeries>
                        </Series>
                    </ext:CartesianChart>
                </Items>
            </ext:Panel>
        </form>
    </body>
    </html>
    Last edited by tylert; May 26, 2017 at 4:01 AM.
  6. #6
    Hello!

    Use this override:

    Ext.define('FixA', {
        override: 'Ext.chart.series.Cartesian',
        getYRange: function () {
            return (this.dataRange[1] === null || this.dataRange[3] === null)
                ? null : [this.dataRange[1], this.dataRange[3]];
        },
    });
    It is a bug still open at Sencha and this solution was provided by the person who reported the bug.

    We've just logged the isssue as #1486 in our issues tracker.

    We hope this override fixes for you. If so, let us know and, as this is not fixed on the recent ExtJS 6.5.0 release, we'll be applying the patch to our code base.
    Fabrício Murta
    Developer & Support Expert
  7. #7
    Thanks! It looks like it was actually the other override on that sencha thread (FixB) was what I needed to fix this issue. I went ahead and applied both FixA and FixB.

    Here is the override:

        Ext.define('FixB', {
            override: 'Ext.chart.series.Cartesian',
            getRangeOfData: function (data, range) {
                var i, length = data.length,
                    value, min = range.min, max = range.max;
    
                for (i = 0; i < length; i++) {
                    value = data[i];
    
                    if (Ext.isNumeric(value)) {
                        if (value < min) {
                            min = value;
                        }
                        if (value > max) {
                            max = value;
                        }
                    }
                }
    
                range.min = min;
                range.max = max;
            }
        });
  8. #8
    Well, I didn't see any issue with applying just the "FixA" one. What was left that the "FixB" addressed for you?
    Fabrício Murta
    Developer & Support Expert
  9. #9
    With just FixA, there is no javascript error but the series are missing from the chart. I still have Type set to Float and AllowNull=true. Here is my complete test code with just FixA in place:

    <%@ Page Language="C#" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Chart1.GetStore().DataSource = new List<object>
            {
                new { Month = "Jan", Data1 = 20.3, Data2 = 10.3 },
                new { Month = "Feb", Data1 = 20, Data2 = 10 },
                new { Month = "Mar", Data1 = 19, Data2 = 9 },
                new { Month = "Apr", Data1 = 18, Data2 = 8 },
                new { Month = "May", Data1 = 18, Data2 = 8 },
                new { Month = "Jun", Data2 = 7 },
                new { Month = "Jul", Data1 = 16, Data2 = 6 },
                new { Month = "Aug", Data1 = 16 },
                new { Month = "Sep", Data1 = 16, Data2 = 6 },
                new { Month = "Oct", Data1 = 16, Data2 = 6 },
                new { Month = "Nov", Data1 = 15, Data2 = 5 },
                new { Month = "Dec", Data1 = 20, Data2 = 5 }
            };
        }
    </script>
    
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <title>Line Chart - Ext.NET Examples</title>
        <script type="text/javascript">
            Ext.define('FixA', {
                override: 'Ext.chart.series.Cartesian',
                getYRange: function () {
                    return (this.dataRange[1] === null || this.dataRange[3] === null)
                        ? null : [this.dataRange[1], this.dataRange[3]];
                },
            });
        </script>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
    
            <h1>Line Chart Example</h1>
    
            <p>A basic line chart displays information as a series of data points connected through</p>
            <p>straight lines. It is similar to scatter plot, except that the points are connected.</p>
            <p>Line charts are often used to visualize trends in data over a period.</p>
    
            <ext:Panel
                runat="server"
                Width="650"
                Height="550"
                Layout="FitLayout">
                <TopBar>
                    <ext:Toolbar runat="server">
                        <Items>
                            <ext:ToolbarFill runat="server" />
    
                            <ext:Button
                                runat="server"
                                Text="Preview"
                                Handler="this.up('panel').down('chart').preview();" />
                        </Items>
                    </ext:Toolbar>
                </TopBar>
                <Items>
                    <ext:CartesianChart
                        ID="Chart1"
                        runat="server"
                        InsetPadding="40"
                        InnerPadding="0 40 0 40">
                        <Store>
                            <ext:Store runat="server">
                                <Model>
                                    <ext:Model runat="server">
                                        <Fields>
                                            <ext:ModelField Name="Month" />
                                            <ext:ModelField Name="Data1" Type="Float"  AllowNull="true" />
                                            <ext:ModelField Name="Data2" Type="Float"  AllowNull="true" />
                                        </Fields>
                                    </ext:Model>
                                </Model>
                            </ext:Store>
                        </Store>
    
                        <Interactions>
                            <ext:PanZoomInteraction ZoomOnPanGesture="true" />
                        </Interactions>
    
                        <Items>
                            <ext:TextSprite
                                Text="Line Charts - Line With data Gaps"
                                FontSize="22"
                                Width="100"
                                Height="30"
                                X="40"
                                Y="20" />
                        </Items>
    
                        <Axes>
                            <ext:NumericAxis
                                Position="Left"
                                Fields="Data1,Data2"
                                Grid="true">
                                <Renderer Handler="return layoutContext.renderer(label) + '%';" />
                            </ext:NumericAxis>
    
                            <ext:CategoryAxis
                                Position="Bottom"
                                Fields="Month"
                                Grid="true">
                                <Label RotationDegrees="-45" />
                            </ext:CategoryAxis>
                        </Axes>
                        <Series>
                            <ext:LineSeries XField="Month" YField="Data1">
                                <StyleSpec>
                                    <ext:Sprite LineWidth="4" />
                                </StyleSpec>
    
                                <HighlightConfig>
                                    <ext:Sprite FillStyle="#000" Radius="5" LineWidth="2" StrokeStyle="#fff" />
                                </HighlightConfig>
                                <Marker>
                                    <ext:Sprite Radius="4" />
                                </Marker>
                                <Label Field="Data1" Display="Over" />
                            </ext:LineSeries>
                            <ext:LineSeries XField="Month" YField="Data2">
                                <StyleSpec>
                                    <ext:Sprite LineWidth="4" />
                                </StyleSpec>
    
                                <HighlightConfig>
                                    <ext:Sprite FillStyle="#000" Radius="5" LineWidth="2" StrokeStyle="#fff" />
                                </HighlightConfig>
                                <Marker>
                                    <ext:Sprite Radius="4" />
                                </Marker>
                                <Label Field="Data2" Display="Over" />
                            </ext:LineSeries>
                        </Series>
                    </ext:CartesianChart>
                </Items>
            </ext:Panel>
        </form>
    </body>
    </html>
    Here is the complete code with FixA + FixB -- both series are now displayed:

    <%@ Page Language="C#" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Chart1.GetStore().DataSource = new List<object>
            {
                new { Month = "Jan", Data1 = 20.3, Data2 = 10.3 },
                new { Month = "Feb", Data1 = 20, Data2 = 10 },
                new { Month = "Mar", Data1 = 19, Data2 = 9 },
                new { Month = "Apr", Data1 = 18, Data2 = 8 },
                new { Month = "May", Data1 = 18, Data2 = 8 },
                new { Month = "Jun", Data2 = 7 },
                new { Month = "Jul", Data1 = 16, Data2 = 6 },
                new { Month = "Aug", Data1 = 16 },
                new { Month = "Sep", Data1 = 16, Data2 = 6 },
                new { Month = "Oct", Data1 = 16, Data2 = 6 },
                new { Month = "Nov", Data1 = 15, Data2 = 5 },
                new { Month = "Dec", Data1 = 20, Data2 = 5 }
            };
        }
    </script>
    
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <title>Line Chart - Ext.NET Examples</title>
        <script type="text/javascript">
            Ext.define('FixA', {
                override: 'Ext.chart.series.Cartesian',
                getYRange: function () {
                    return (this.dataRange[1] === null || this.dataRange[3] === null)
                        ? null : [this.dataRange[1], this.dataRange[3]];
                },
            });
    
            Ext.define('FixB', {
                override: 'Ext.chart.series.Cartesian',
                getRangeOfData: function (data, range) {
                    var i, length = data.length,
                        value, min = range.min, max = range.max;
    
                    for (i = 0; i < length; i++) {
                        value = data[i];
    
                        if (Ext.isNumeric(value)) {
                            if (value < min) {
                                min = value;
                            }
                            if (value > max) {
                                max = value;
                            }
                        }
                    }
    
                    range.min = min;
                    range.max = max;
                }
            });
        </script>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
    
            <h1>Line Chart Example</h1>
    
            <p>A basic line chart displays information as a series of data points connected through</p>
            <p>straight lines. It is similar to scatter plot, except that the points are connected.</p>
            <p>Line charts are often used to visualize trends in data over a period.</p>
    
            <ext:Panel
                runat="server"
                Width="650"
                Height="550"
                Layout="FitLayout">
                <TopBar>
                    <ext:Toolbar runat="server">
                        <Items>
                            <ext:ToolbarFill runat="server" />
    
                            <ext:Button
                                runat="server"
                                Text="Preview"
                                Handler="this.up('panel').down('chart').preview();" />
                        </Items>
                    </ext:Toolbar>
                </TopBar>
                <Items>
                    <ext:CartesianChart
                        ID="Chart1"
                        runat="server"
                        InsetPadding="40"
                        InnerPadding="0 40 0 40">
                        <Store>
                            <ext:Store runat="server">
                                <Model>
                                    <ext:Model runat="server">
                                        <Fields>
                                            <ext:ModelField Name="Month" />
                                            <ext:ModelField Name="Data1" Type="Float"  AllowNull="true" />
                                            <ext:ModelField Name="Data2" Type="Float"  AllowNull="true" />
                                        </Fields>
                                    </ext:Model>
                                </Model>
                            </ext:Store>
                        </Store>
    
                        <Interactions>
                            <ext:PanZoomInteraction ZoomOnPanGesture="true" />
                        </Interactions>
    
                        <Items>
                            <ext:TextSprite
                                Text="Line Charts - Line With data Gaps"
                                FontSize="22"
                                Width="100"
                                Height="30"
                                X="40"
                                Y="20" />
                        </Items>
    
                        <Axes>
                            <ext:NumericAxis
                                Position="Left"
                                Fields="Data1,Data2"
                                Grid="true">
                                <Renderer Handler="return layoutContext.renderer(label) + '%';" />
                            </ext:NumericAxis>
    
                            <ext:CategoryAxis
                                Position="Bottom"
                                Fields="Month"
                                Grid="true">
                                <Label RotationDegrees="-45" />
                            </ext:CategoryAxis>
                        </Axes>
                        <Series>
                            <ext:LineSeries XField="Month" YField="Data1">
                                <StyleSpec>
                                    <ext:Sprite LineWidth="4" />
                                </StyleSpec>
    
                                <HighlightConfig>
                                    <ext:Sprite FillStyle="#000" Radius="5" LineWidth="2" StrokeStyle="#fff" />
                                </HighlightConfig>
                                <Marker>
                                    <ext:Sprite Radius="4" />
                                </Marker>
                                <Label Field="Data1" Display="Over" />
                            </ext:LineSeries>
                            <ext:LineSeries XField="Month" YField="Data2">
                                <StyleSpec>
                                    <ext:Sprite LineWidth="4" />
                                </StyleSpec>
    
                                <HighlightConfig>
                                    <ext:Sprite FillStyle="#000" Radius="5" LineWidth="2" StrokeStyle="#fff" />
                                </HighlightConfig>
                                <Marker>
                                    <ext:Sprite Radius="4" />
                                </Marker>
                                <Label Field="Data2" Display="Over" />
                            </ext:LineSeries>
                        </Series>
                    </ext:CartesianChart>
                </Items>
            </ext:Panel>
        </form>
    </body>
    </html>
  10. #10
    Hello @tylert!

    Oh what a distraction! On your first lines I ran again the example and noticed it was displaying just the first series!.. Glad you went ahead and pulled the second fix from the fiddle! Sorry for that silly mistake!

    We should be applying this fix to our code then as we go towards next release. Thank you very much for your feedback!
    Fabrício Murta
    Developer & Support Expert
Page 1 of 2 12 LastLast

Similar Threads

  1. Replies: 2
    Last Post: Sep 11, 2015, 8:20 AM
  2. [CLOSED] Chart Bar with null values
    By slavina in forum 2.x Legacy Premium Help
    Replies: 8
    Last Post: Jul 09, 2015, 8:25 PM
  3. [CLOSED] Line Series Chart with null values & axis scaling
    By tylert in forum 2.x Legacy Premium Help
    Replies: 3
    Last Post: Oct 25, 2014, 6:57 AM
  4. Replies: 1
    Last Post: Nov 07, 2013, 2:40 PM
  5. [CLOSED] Handle null values in line chart series
    By PriceRightHTML5team in forum 2.x Legacy Premium Help
    Replies: 12
    Last Post: Jul 29, 2013, 8:50 AM

Tags for this Thread

Posting Permissions