Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Events
Videos
Audiobooks
Packt Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Learning jqPlot
Learning jqPlot

Learning jqPlot: Learn how to create your very own rich and intuitive JavaScript data visualizations using jqPlot

Arrow left icon
Profile Icon Scott Gottreu
Arrow right icon
$20.69 $22.99
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (1 Ratings)
eBook Aug 2014 240 pages 1st Edition
eBook
$20.69 $22.99
Paperback
$37.99
eBook + Subscription
$29.99 Monthly
Arrow left icon
Profile Icon Scott Gottreu
Arrow right icon
$20.69 $22.99
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (1 Ratings)
eBook Aug 2014 240 pages 1st Edition
eBook
$20.69 $22.99
Paperback
$37.99
eBook + Subscription
$29.99 Monthly
eBook
$20.69 $22.99
Paperback
$37.99
eBook + Subscription
$29.99 Monthly

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Learning jqPlot

Chapter 1. Getting Started

As we begin this journey, we will look at the advantages of jqPlot over other web-based charting tools. We will look at the basic options available to us in jqPlot as we hit the ground running and create charts based on our company's data. In this chapter, we will cover the following topics:

  • Review the components of a chart
  • Learn the different ways of creating a chart in jqPlot
  • Create arrays that contain values for our x and y axes and pass these into jqPlot
  • Use a plugin that allows us to use dates for our x axis
  • Create multiple lines on our chart
  • Add multiple y axes to our chart
  • Add a legend to one of our charts
  • Set different options for our lines and use different marker options

Reviewing the components of a chart

Let's think back to our high school Math class where our teacher discussed charts and graphs. You might have been like me and wondered how you would apply this in real life. Fast forward to today and your boss dropping a stack of files on your desk just made it real.

We will use line charts as a basis for our review of the parts of a chart. Line charts are one of the most popular charts to use, while also being the simplest to understand and implement with jqPlot. Line charts are mainly used to show how data changes over time, but they can also be used to show how one dataset impacts another. For example, we can show how the number of social media shares affect revenue or how sales in different divisions affect the gross profit margin.

With this in mind, we need to look at the components of a chart. There are two axes, the x axis and the y axis. Some might think of these as independent variables and dependent variables, but they are more scientific labels. An easier way to think of the two axes would be cause and effect. Our y axis generally represents the dependent variable or effect, which for instance, can be the amount of profit generated during a given time period, or the total revenue generated by a sales associate.

Our x axis generally represents the independent variable or cause. Most line charts show trending data over time, where our x axis covers certain time frames such as days, weeks, or years. Usually, we have a set range of data points on our x axis, as a result of which our y axis will have data points that may vary greatly. If we had a chart showing the revenue generated by sales associates, their names would be on the x axis. The sales associates interact with the customers and generate the sales that provide the revenue.

A few other pieces of a chart to keep in mind are the grid and ticks. The ticks denote certain values along the axis. The grid represents the lines running vertically and horizontally, connecting the ticks on both axes. The grid makes it easier to decipher the value of each point of a line on the chart. The following diagram shows how each of these pieces composes a chart:

Reviewing the components of a chart

Getting a promotion

Calvin, our boss, stops by our office and informs us that all the regional managers will be coming to the corporate offices for a quarterly meeting on Friday. Since it is Monday, we should be able to meet this goal. He wants us to create a few pages for our intranet, showing things such as profit, revenue, and expenses.

"We've got to impress them," he says as he leaves. We stare at each other, simply bewildered. You mention that we just became business analysts as well as developers.

We start to work in our newfound roles. You begin to find the data that will be required. Since we are creating prototypes, we need to manually compile the data for now.

I start researching web-based charting tools and come across three main contenders: Highcharts, D3.js, and jqPlot. We will have to pay a licensing fee to use Highcharts for our company. D3.js has a beautiful gallery of available charts, and it looks like it has a very high learning curve. It appears that jqPlot has a lower learning curve and we will be building charts faster with jqPlot than with D3.js. The other benefit of jqPlot is that it does not require a commercial license.

Creating a jqPlot chart

Download the current version of jqPlot and extract the files to your web server. We'll create the most basic chart we can, as shown in the following steps:

  1. We start by building our HTML file, including jQuery. We also include the jqPlot JavaScript and CSS files from the downloaded ZIP file. We must include jQuery because jqPlot is a plugin for jQuery, which means that it needs jQuery to function properly:
    <!doctype html>
        <head>
          <title>Learning jqPlot</title>
          <meta charset="utf-8">
          <link rel="stylesheet" href="/css/jquery.jqplot.min.css">
         <script src="../js/jquery.min.js"></script>
          <script src="../js/jquery.jqplot.min.js"></script>
        </head>
        <body>

    Tip

    Downloading the example code

    You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you

  2. Next, we create the div element that will contain our chart. We set id to firstChart so that jqPlot will know where to build our chart. Since we are just creating prototypes, we will set the width of our div inline, as shown in the following code.
       <div id="firstChart" style="width:600px"></div>
  3. Finally, we create our jqPlot object and store it in the plot variable. Then, we pass the id attribute of the div, which is firstChart. Finally, we include an array of numbers inside another array, which will be our data points. This is the simplest way to pass in the data:
        <script>
        $(document).ready(function(){
          var plot = $.jqplot ('firstChart', [[1,9,4,3,8,5]]);
        });
        </script>
    </body>
    </html>

Tip

We can also create our chart by chaining the jqPlot plugin to the jQuery selector of our div. It will look like the following:

$("#firstChart").jqplot ([[1,9,4,3,8,5]]);

In our examples, we will store our objects in variables so that they are available globally in our JavaScript if required.

jqPlot will interpret each number as a point on the y axis, and it will assign a value for the x axis, starting with 1. We can see the result of our effort in the following screenshot:

Creating a jqPlot chart

Passing in both x and y values

The next option to pass in data to the chart is to use a two-dimensional array. Our inner array contains individual arrays, which in turn contain the value for x axis followed by the value for y axis. When we include both x and y values, our data points may not increment at a constant interval, as was the case in our previous chart:

   <script>
   $(document).ready(function(){
     var secondPlot = $.jqplot ('secondChart', [[[5,4],[10,7],[15,6],[20,9]]]);
   });
   </script>
   <div id="secondChart" style="width:400px;"></div>

We load this new chart in our web browser, and the results are as shown in the following figure:

Passing in both x and y values

Using dates for the x axis

As we finish our first experiment, you mention that you've found the revenue numbers for the last 7 days. We decide that it will be best if we can show the dates on the x axis and not use arbitrary numbers.

We will need to make use of one of the renderers available in jqPlot. A renderer extends the basic functionality of jqPlot. Some renderers take the data and render it in different chart types. Other renderers format text in different ways. For our next chart, we will use dateAxisRenderer, which will take our human-readable dates and convert them into values for jqPlot to render:

  1. We start by including the dateAxisRenderer.js file in our HTML, as shown in the following code:
    <script src="../js/jqplot.dateAxisRenderer.min.js"></script>
  2. To make it easier to keep track of our data, we will store it in an array and then pass that variable into our plot. Our array contains arrays with the x and y values for each data point. The date is the x value, and the second number is our y value:
    <script>
    $(document).ready(function(){
        var revenue = [['2012-10-25',258142], ['2012-10-26',267924],['2012-10-27',239140], ['2012-10-28',230107], ['2012-10-29',264397], ['2012-10-30',276369], ['2012-10-31',285050]];
  3. Next, we declare the variable for our chart. We pass in the ID of the div, and then pass in the revenue array. No matter how many data arrays we create, they will all be housed inside another array. We also want to set some options for our chart. This is accomplished by passing a jQuery object as the third parameter:
      var revenuePlot = $.jqplot ('revenueChart', [revenue],
         {
  4. After creating the object, we set the title option and then create an object for our axes:
      title:'Daily Revenue',
      axes:{
  5. We set the renderer option for the x axis. We will pass in the DateAxisRenderer class. Since it is a class, we will not place it inside quotes. Also, we will not add parentheses to the end of the class name. This will instantiate our class:
      xaxis:{
        renderer:$.jqplot.DateAxisRenderer,
        label: 'Days of the Month'
      },
  6. For the yaxis option, we set our label and use the formatString option to format our values as currency. The dollar sign in formatString adds a dollar sign to the beginning of the tick. The apostrophe states we want a thousands place separator. Finally, the d expression tells jqPlot to treat the tick as a number. We complete the page by including the div element to contain our chart:
          yaxis:{
            label: 'Revenue in Dollars',
            tickOptions: { formatString: "$%'d" } 
          }
        }
      });
    });
    </script>
    <div id="revenueChart" style="width:600px;"></div>

    Tip

    Because of issues with time zones and how browsers calculate dates, it's best to include a time along with the date. The date renderer will also accept epoch timestamps. We need to keep in mind that if a time zone is not included in our date string, JavaScript will default to the time zone of the browser.

With our new chart complete, we load the page in our browser and see the result in the following figure:

Using dates for the x axis

Adding multiple data series

This is a nice start, but we both agree that the leadership is going to want more than just a couple of days of revenue on a chart. Our next chart will display the profit and revenue numbers for the last 12 months. We will only need to make a few adjustments to our previous chart:

  1. We include both arrays containing our revenue and profit figures:
    <script src="../js/jqplot.dateAxisRenderer.min.js"></script>
    
    <script>
    $(document).ready(function(){
    
      var revenue = [['2011-11-20', 800538], ['2011-12-20', 804879], ['2012-01-20', 847732], ['2012-02-20', 795758], ['2012-03-20', 835554], ['2012-04-20', 844379], ['2012-05-20', 828510], ['2012-06-20', 753984], ['2012-07-20', 807403], ['2012-08-20', 755840], ['2012-09-20', 775304], ['2012-10-20', 781322]];
    
      var profit = [['2011-11-20', 192049.56], ['2011-12-20', 188744.75], ['2012-01-20', 197352.54], ['2012-02-20', 190106.74], ['2012-03-20', 193453.07], ['2012-04-20', 197249.69], ['2012-05-20', 205480.18], ['2012-06-20', 177648.78], ['2012-07-20', 193793.82], ['2012-08-20', 183221.56], ['2012-09-20', 192797.31], ['2012-10-20', 182451.68]];
  2. We modify the variable name for our object and create a new ID attribute. Next, we combine both arrays into a container array and pass it into jqPlot. Within jqPlot, each array containing data is called a series and both series will appear on the same y axis:
      var rev_profit = $.jqplot ('revenueProfitChart', [revenue, profit],
      {
  3. We modify the title and the labels for our axes. We also update the ID of our div element:
        title:'Monthly Revenue & Profit',
        axes:{
          xaxis:{
            renderer:$.jqplot.DateAxisRenderer,
            label: 'Months'
          },
          yaxis:{
            label: 'Totals Dollars',
            tickOptions: { formatString: "$%'d" } 
          }
        }
      });
    });
    </script>
    <div id="revenueProfitChart" style="width:600px;"></div>

We load the page in the browser and smile. The changes to the chart get us closer to what the management is looking for. We can see the results of our efforts in the following figure.

Adding multiple data series

Adding multiple y axes

The two data series are really far apart in their values. It's hard to decipher the value of each point by just looking at the chart. We'll put each series on its own y axis. This will make it easier to see interactions between our revenue and profit. We revisit the code and begin to alter it to separate the y axes.

  1. We start by adding the series option. It is an array containing an object for each data series. For the first series, we can leave the default settings in place. So, we simply pass in an empty object. The second series will be on the second y axis, which means that we enter y2axis for the yaxis option. The ticks and label for this axis will appear on the right-hand side of our chart:
      var rev_profit = $.jqplot ('revenueProfitChart', [revenue, profit],
      {
        title:'Monthly Revenue & Profit',
        series:[
          {},
          {yaxis:'y2axis'}
        ],
    
  2. We change the label for yaxis to Revenue. We copy all these options for y2axis. We then change the axis option and the label:
        axes:{
          xaxis:{
            renderer:$.jqplot.DateAxisRenderer,
            label: 'Months'
          },
          yaxis:{
            label: 'Revenue',
            tickOptions: { formatString: "$%'d" } 
          },
          y2axis:{
            label: 'Profit',
            tickOptions: { formatString: "$%'d" } 
          }
        }
      });

We load this new chart in our browser. The fruit of our labors can be seen in the following figure:

Adding multiple y axes

We begin to study the chart. It appears that profit as a part of revenue is better in some months when compared to other months, but we can't draw any clear conclusions from this chart. However, this can be a springboard to try to track down some correlations.

Adding a legend

As we study the chart, we lose track of which line represents revenue and which represents profit. We'll need a legend to solve this problem:

  1. We start by adding labels to each of our series objects. We add a label object to our empty object for the first data series. For the second series, we add the label option alongside the existing yaxis option.
    title:'Monthly Revenue & Profit',
    series:[
      { label: 'Revenue' },
      { label: 'Profit', yaxis:'y2axis' }
    ], 
  2. Next, we add a legend option. In order for the legend to appear, we must set the show option to true. We also set placement to outsideGrid. The other two options available to us are insideGrid and outside. The outsideGrid option will place the legend outside the grid, but inside the plot object. Hence, the grid will be resized to accommodate the legend:
    legend: {
      show: true,
      placement: 'outsideGrid'
    },

We finish the updates to our new chart and open our web browser again. We now have a legend that will help us decipher our chart, which can be seen in the following figure:

Adding a legend

Tip

The insideGrid option will place the legend inside the grid. If we want the legend outside the grid, but we don't want our grid to shrink, we can use the outside option instead. Be aware that with the outside option, our legend can flow outside the plot and overlap other elements on our page.

We finally have a nice report. We call Calvin and ask him to come by and take a look at what we've got so far. We also need some direction on how to proceed. A few minutes later, he swings by our office.

"This is great," he says, "but we're going to need to expand on some of this data. How about we get a report that has last quarter's revenue and break out the profit by each division? Also, can you change the styles on those lines? Add a little flair or something." Calvin walks out and we stare at each other, trying to figure out how to add some "flair" to our report.

Adding line and marker options

We'll keep the first two data series as they are and put all the divisional data on y3axis. You mention that we can use different marker styles to set off the different divisions. We will turn off the line for the revenue and overall profit data series and just show the markers. As for the divisional series, we've got seven different styles to use for our markers, which are the following:

  • circle and filledCircle
  • diamond and filledDiamond
  • square and filledSquare
  • x

This works out well because we've got three major divisions in our data. You find the profit numbers that we will need, and we set to work updating our chart.

  1. We start by including the profit numbers for each division. We also pass the following three data series arrays in to jqPlot:
    <script src="../js/jqplot.dateAxisRenderer.min.js"></script>
    <script>
    $(document).ready(function(){
    
      var revenue = [['2012-07-20', 807403], ['2012-08-20', 755840], ['2012-09-20', 775304]];
      var profit = [['2012-07-20', 193793.82], ['2012-08-20', 183221.56], ['2012-09-20', 192797.31]];
      var electronics = [['2012-07-20', 116276.29], ['2012-08-20', 95867.97], ['2012-09-20', 120591.27]];
      var media = [['2012-07-20', 27596.25], ['2012-08-20', 32396.47], ['2012-09-20', 26709.06]];
      var nerd_corral = [['2012-07-20', 49921.28], ['2012-08-20', 54957.12], ['2012-09-20', 45496.98]];
    
      var rev_profit = $.jqplot ('division_profit', [revenue, profit, electronics, media, nerd_corral],
      {
  2. Now that we have five series across three different axes, we will make use of the seriesDefaults option. By setting yaxis to y3axis, every data series will appear on this axis unless we override this option on the individual series. We also set the style option to filledCircle:
          title:'Q3 Revenue, Profit & Divisional Profits',
          seriesDefaults: {
            yaxis:'y3axis',
            markerOptions: {
              style: 'filledCircle',
              size: 10
            }
          },
  3. Next, we create the series objects for revenue and profit. We set the showLine option to false along with style for markerOptions. Since we set the default axis in seriesDefaults, we also need to override this option:
          series:[
            {    
              label: 'Revenue',
              yaxis:'yaxis',
              showLine: false,
              markerOptions: { style: 'x' }
            },
            {
              label: 'Profit', 
              yaxis:'y2axis',
              showLine: false,
              markerOptions: { style: 'diamond' }
            },
  4. For the Electronics division data series, we use the defaults. For the two remaining series, we set the style option to different values:
            { label: 'Electronics' },
            {
              label: 'Media & Software', 
              markerOptions: { style: 'filledSquare' }
            },
            {
              label: 'Nerd Corral',
              markerOptions: { style: 'filledDiamond' }
            }
          ],
  5. Our next step is to set the default options under axesDefaults. We set the default formatString for currency, but this will cause problems for our x axis:
          axesDefaults: {
            tickOptions: { formatString: "$%'d" }
          },
  6. Since we use the date renderer, we set the formatString option of the x axis to %B, which will output the full month name as the tick. jqPlot automatically calculates how many ticks it thinks we need for our axes. However, jqPlot sometimes creates more than we need. Since this chart deals with quarterly data, we set numberTicks to 3:
          axes:{
            xaxis:{
              label: 'Months',
              renderer:$.jqplot.DateAxisRenderer,
              numberTicks: 3,
              tickOptions: { formatString: "%B" }
            },
            yaxis: { label: 'Revenue' },
            y2axis: { label: 'Profit' }
          }
      }); 
    });
    </script>
  7. With the added axis for our chart, we need to increase the width of our div.
    <div id="division_profit" style="width:650px;"></div>

It was hard keeping track of all these options. We open our web browser, hoping we did everything correctly. We can see the result in the following figure. All the axes have different values. The lines for revenue and profit are missing, just as we wanted, and each data series has a different marker.

Everything worked as we intended, but the chart is hard to read. With the different axes, data points are overlapping. As we continue our research, we might find a better way to represent the same data.

Adding line and marker options

Tip

Since our data points are in the middle of the month, jqPlot will add a month to the end of the x axis to keep everything in bounds. If we only want the three months on the graph, we can change the dates to the first of the month.

Calvin stops by later and loves what we have. "This is a great first step. We will need some charts that pull in data from other sources, especially our social media accounts. We will also need to start showing trend lines."

Calvin walks out again without warning, leaving us to stare at each other. We decide we've done what we can for the morning, so we head off to lunch, preparing ourselves to tackle social media and trend lines upon our return.

Learning questions

  1. What are the three main parts of a chart discussed in the chapter?
  2. What are the two ways we can create a jqPlot object?
  3. How do we enable a data series to appear on the second y axis?
  4. What are the three placement options for our legend?
  5. What are the four main marker styles?
  6. What values do we set for the formatString option to get a dollar sign and the thousands place separator?

Summary

We started the chapter by taking a refresher course on the parts of a chart. Next, we learned the advantages of jqPlot and created our first chart with just a few lines of code. Later, we looked at the different ways to pass in data to jqPlot. We made use of DateAxisRenderer to use dates on the x axis of our charts.

We learned about options such as y2axis, which allowed us to plot our lines on different y axes. We also made use of the legend and markerOptions options to make it easier to discern which line goes with which data series.

In the next chapter, we will look at pulling data from remote sources. We will also create area charts and scatterplots. Along with all of this, we will look at how trend lines work and how to create them.

Left arrow icon Right arrow icon

Description

If you are a developer with a good understanding of JavaScript and jQuery and have been burdened with the task of analyzing and presenting some data, this book will provide you with the start you need to create some very attractive data visualizations.

What you will learn

  • Make basic line graphs, bar charts, and pie charts
  • Create functions to parse various JSON objects to build datasets
  • Customize the style of your charts to create your own personal designs
  • Update your charts with live data using AJAX calls
  • Build waterfall, block, and OHLC charts
  • Increase the functionality of your charts by building event handlers
  • Add plugins to make the data more accessible

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Aug 26, 2014
Length: 240 pages
Edition : 1st
Language : English
ISBN-13 : 9781783981175
Category :
Languages :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Aug 26, 2014
Length: 240 pages
Edition : 1st
Language : English
ISBN-13 : 9781783981175
Category :
Languages :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 159.97
Learning jqPlot
$37.99
Mastering D3.js
$63.99
AngularJS Web Application Development Blueprints
$57.99
Total $ 159.97 Stars icon

Table of Contents

13 Chapters
1. Getting Started Chevron down icon Chevron up icon
2. More Line Charts, Area Charts, and Scatter Plots Chevron down icon Chevron up icon
3. Bar Charts and Digging into Data Chevron down icon Chevron up icon
4. Horizontal and Stacked Bar Charts Chevron down icon Chevron up icon
5. Pie Charts and Donut Charts Chevron down icon Chevron up icon
6. Spice Up Your Charts with Animation, Tooltips, and Highlighting Chevron down icon Chevron up icon
7. Stock Market Charts – OHLC and Candlestick Charts Chevron down icon Chevron up icon
8. Bubble Charts, Block Plots, and Waterfalls Chevron down icon Chevron up icon
9. Showing Real-time Data with Our Charts Chevron down icon Chevron up icon
10. Beautifying and Extending Your Charts Chevron down icon Chevron up icon
11. Bringing it All Together Chevron down icon Chevron up icon
A. Answers Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(1 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
SuJo Dec 17, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Learning jqPlotScott Gottreu did a fine job on this title, it was informative, to the point, and the code worked. The information was detailed and to the point, I felt like I learned something new which was my intentions for reading this title. "This book empowers you to create highly-customized charts and graphs that present your data in a visually appealing and analytic manner." This was taken from the publisher page for this title and it's spot on, I did enjoy starting from a very basic graph and moving on to a more advanced graph.There isn't really much more to say about this title, I've used other plugins and they are pretty good but I feel leveraging the power of jqPlot opens the door for even better data representation using charts or graphs. I would also like to mention this is probably the first Packt book where the author actually utilized some humor and it was very refreshing. I REALLY REALLY enjoyed the story driven type setup, it actually helps me retain information. There are charts-o-plenty in this book as well, so if you're a visual learner like me you'll really appreciate the number of elements which are represented in full color for the eBook version. I did like the emphasis on limitations and I would have liked to seen more scenarios that require heavy loads or database driven dashboards. The remote loading was a nifty feature, do people still use that word?All in all I'm very pleased with this book, it will allow you to add some pizzazz to your web application while maintaining a well known and liked framework, no need to re-invent the wheel on this one folks. If you're just wondering if remote datasets are covered, you're in luck because they are. I would say I could have used a few more pages with database driven charts but I'm confident I can fill in the blanks. I'd highly recommend this book to anyone creating a web application that requires visual representation of the data, you'll really enjoy this one.[...]
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.

Modal Close icon
Modal Close icon