Chart Data

Performance !!!

Bar and Column Charts

Line and Area Charts

Pie and Funnel Charts

Scatter and Bubble Charts

Radar and Polar Charts

Financial Charts

Gantt Charts

Combinational Charts

Working with Chart Axes

Chart Features

Customizing Chart

Client-Side Events


This sample demonstrates how to create a chart with animation and interactive zooming and panning bound to specific data source.

For detailed implementation, please take a look at the Aspx code tab.
 
<%@ Page  Language="C#"  %>

<%@ Register assembly="JQChart.Web" namespace="JQChart.Web.UI.WebControls" tagprefix="jqChart" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title></title>    
    <link rel="stylesheet" type="text/css" href="~/Content/jquery.jqChart.css" />
    <link rel="stylesheet" type="text/css" href="~/Content/themes/le-frog/jquery-ui-1.8.20.css" />
    <script src="<% = ResolveUrl("~/Scripts/jquery-1.11.1.min.js") %>" type="text/javascript"></script>
    <script src="<% = ResolveUrl("~/Scripts/jquery.jqChart.min.js") %>" type="text/javascript"></script>
</head>
<body>
    <form runat="server">
    <asp:ObjectDataSource ID="ObjectDataSource1"
        runat="server"
        SelectMethod="GetRandom"
        TypeName="SamplesBrowser.Models.DateTimeXAxisChartData"></asp:ObjectDataSource>
    <jqChart:Chart ID="Chart1" Width="500px" Height="300px" runat="server" DataSourceID="ObjectDataSource1">
        <Background FillStyleType="LinearGradient" X1="0">
            <ColorStops>
                <jqChart:ColorStop Color="#d2e6c9" />
                <jqChart:ColorStop Color="white" Offset="1" />
            </ColorStops>
        </Background>        
        <Border StrokeStyle="#6ba851" />
        <Title Text="Title"></Title>
        <Legend><Title Text="Legend"></Title></Legend>
        <Animation Enabled="True" />
        <Tooltips TooltipsType="Shared" />
        <Crosshairs Enabled="True">
            <HorizontalLine Visible="False" />
            <VerticalLine StrokeStyle="#cc0a0c" />
        </Crosshairs>
        <Shadows Enabled="true" />
        <Axes>
            <jqChart:DateTimeAxis Location="Bottom" ZoomEnabled="True">
            </jqChart:DateTimeAxis>
        </Axes>
        <Series>
            <jqChart:LineSeries XValuesField="ValueX" YValuesField="ValueY1" Title="Series 1">
                <Markers Visible="False" />
            </jqChart:LineSeries>
            <jqChart:LineSeries XValuesField="ValueX" YValuesField="ValueY2" Title="Series 2">
                <Markers Visible="False" />
            </jqChart:LineSeries>
        </Series>
    </jqChart:Chart>
    <script lang="javascript" type="text/javascript">
        $(document).ready(function () {
            $('#<%= Chart1.ClientID %>').bind('tooltipFormat', function (e, data) {

                if ($.isArray(data) == false) {

                    var date = data.chart.stringFormat(data.x, "ddd, mmm dS, yyyy");

                    var tooltip = '<b>' + date + '</b><br />' +
                          '<span style="color:' + data.series.fillStyle + '">' + data.series.title + ': </span>' +
                          '<b>' + data.y + '</b><br />';

                    return tooltip;
                }

                var date = data[0].chart.stringFormat(data[0].x, "ddd, mmm dS, yyyy");

                var tooltip = '<b>' + date + '</b><br />' +
                      '<span style="color:' + data[0].series.fillStyle + '">' + data[0].series.title + ': </span>' +
                      '<b>' + data[0].y + '</b><br />' +
                      '<span style="color:' + data[1].series.fillStyle + '">' + data[1].series.title + ': </span>' +
                      '<b>' + data[1].y + '</b><br />';

                return tooltip;
            });
        });
    </script>
</form>
</body>
</html>

                                        
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace SamplesBrowser.Models
{
    public class DateTimeXAxisChartData
    {
        public static List<DateTimeXAxisChartData> GetRandom()
        {
            var data = new List<DateTimeXAxisChartData>();

            Random rnd = new Random();

            double yValue1 = 50;
            double yValue2 = 200;

            var date = new DateTime(2010, 1, 1);

            for (var i = 0; i < 200; i++)
            {
                yValue1 += rnd.NextDouble() * 10 - 5;
                yValue2 += rnd.NextDouble() * 10 - 5;

                data.Add(new DateTimeXAxisChartData(date, Math.Round(yValue1, 2), Math.Round(yValue2, 2)));

                date = date.AddDays(1);

            }

            return data;
        }

        public static List<DateTimeXAxisChartData> GetLineChartData()
        {
            var data = new List<DateTimeXAxisChartData>();

            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 1), 62, 46));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 2), 60, 40));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 3), 68, 62));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 4), 58, 65));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 5), 52, 60));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 6), 60, 36));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 7), 48, 70));

            return data;
        }

        public static List<DateTimeXAxisChartData> GetLineChartDataWithNullValues()
        {
            var data = new List<DateTimeXAxisChartData>();

            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 1), 62, 46, 36));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 2), 60, 40, 30));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 3), 68, 62, 22));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 4), 58, 65, 25));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 5), null, null, null));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 6), 60, 36, 16));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 7), 48, 70, 30));

            return data;
        }

        public static List<DateTimeXAxisChartData> GetAreaChartData()
        {
            var data = new List<DateTimeXAxisChartData>();

            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 1, 1), 56, 46));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 2, 1), -20, 40));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 3, 1), -32, 62));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 4, 1), 50, 65));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 5, 1), 40, 60));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 6, 1), 36, 36));
            data.Add(new DateTimeXAxisChartData(new DateTime(2010, 7, 1), 70, 70));

            return data;
        }

        public static List<DateTimeXAxisChartData> GetDateTimeAxisSampleChartData()
        {
            var data = new List<DateTimeXAxisChartData>();

            data.Add(new DateTimeXAxisChartData(new DateTime(2011, 1, 6), 70));
            data.Add(new DateTimeXAxisChartData(new DateTime(2011, 1, 8), 82));
            data.Add(new DateTimeXAxisChartData(new DateTime(2011, 1, 10), 85));
            data.Add(new DateTimeXAxisChartData(new DateTime(2011, 1, 12), 70));
            data.Add(new DateTimeXAxisChartData(new DateTime(2011, 1, 14), 65));
            data.Add(new DateTimeXAxisChartData(new DateTime(2011, 1, 16), 68));

            return data;
        }

        public DateTimeXAxisChartData(DateTime valueX, double valueY1)
        {
            this.ValueX = valueX;
            this.ValueY1 = valueY1;
        }

        public DateTimeXAxisChartData(DateTime valueX, double? valueY1, double? valueY2)
        {
            this.ValueX = valueX;
            this.ValueY1 = valueY1;
            this.ValueY2 = valueY2;
        }

        public DateTimeXAxisChartData(DateTime valueX, double? valueY1, double? valueY2, double? valueY3)
        {
            this.ValueX = valueX;
            this.ValueY1 = valueY1;
            this.ValueY2 = valueY2;
            this.ValueY3 = valueY3;
        }

        public DateTime ValueX { get; set; }
        public double? ValueY1 { get; set; }
        public double? ValueY2 { get; set; }
        public double? ValueY3 { get; set; }
    }
}