dotnetco.de

Create HTML5 Charts using Chartist JS and asp.net

After RGraph has changed their license type and I also saw an article about Chartist JS in Smashing Magazine I checked what needs to be done to move. Chartist is hosted on Github so it’s open source and also free according to their current license.

I’ve already written a blog post how to Create HTML5 Charts using ASP.net and RGraph so I used this code and transferred it to Chartist JS. And well, it’s just 2 minutes work.

Of course you have to reference the library, so add the script and the css to your page:

<link rel="stylesheet" href="//cdn.jsdelivr.net/chartist.js/latest/chartist.min.css">
<script src="//cdn.jsdelivr.net/chartist.js/latest/chartist.min.js"></script>

 

Then add the script for your chart and the div for the chart itself:

<script type="text/javascript">
    function setChart() {
        var data = {
            labels: <%=chartLabels %>,
            series: <%=chartData%>
        };
        new Chartist.Line('.ct-chart', data);
    };
    window.onload = setChart;
</script>
<div class="ct-chart ct-perfect-fourth">
</div>

 

 

In the backend compute the values you want to show. Probably you would like to read them from SQL DB or else, but I just code them for easier understanding in this example. Take care: chartDate needs 2 square brackets!

Public Class WebForm3
    Inherits System.Web.UI.Page
 
    Private m_chartData As String
    Public Property chartData() As String
        Get
            Return m_chartData
        End Get
        Set(value As String)
            m_chartData = value
        End Set
    End Property
 
    Private m_chartLabels As String
    Public Property chartLabels() As String
        Get
            Return m_chartLabels
        End Get
        Set(value As String)
            m_chartLabels = value
        End Set
    End Property
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            SetValues()
        End If
    End Sub
 
    Private Sub SetValues()
        chartData = "[]280, 45, 133, 166, 84, 259, 266, 960, 219, 311, 67, 89[]"
        chartLabels = "['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"
    End Sub
 
End Class

 

And that’s all.

Of course you could do much more with Chartist, like Animations, tooltips etc., but current post should only give you a first overview how to start with asp.net and Chartist JS. Now have a look at their examples and create your own charts.

Leave a Comment