Meteor is a powerful platform for building responsive web and mobile applications. It makes use of modular components, full-stack reactivity, and wire-based data transmission.

It is a full-stack framework for developing real-time web applications for desktop and mobile platforms. Even inexperienced developers can quickly create something impressive and useful, which is why advanced developers value MeteorJS’s flexibility. It makes use of MongoDB as its database, as well as its own development and testing tools. It also makes use of the distributed data protocol and the publish-subscribe pattern, which help to propagate data changes to clients without the need for synchronized code written by a developer. It can also be supplemented with third-party packages like Atmosphere or MPM.

In this post, you will learn how to create projects with Data Charts using Meteor JS and FusionCharts components.

Let’s take a look at what Meteor requires to function properly:
Chocolatey – Install Chocolatey. For Installing it with cmd.exe, execute the following command in the terminal:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

MeteorJS – To install MeteorJS, execute the following command in the terminal:
choco install meteor

FusionCharts – To install FusionCharts module, execute the following command in the terminal:
meteor npm install fusioncharts --save

FusionMaps – To install FusionMaps module, execute the following command in the terminal:
meteor npm install fusionmaps

Creating Project

Once you’ve installed Meteor, create a project. Run the following command in the terminal:
meteor create myapp

The above command will create a new folder named myapp with all the files that a Meteor app needs.

To run the newly created app, execute the following commands:
cd myapp
meteor

The above command will take us to a page in a browser – http://localhost:3000/

Let’s move on to the next phase of the process to edit the HTML and JS file to render FusionMaps.

Code Modification

Edit HTML File

Replace the existing HTML code with the code given below:

<head>
  <title>Fusioncharts MeteorJS Integration</title>
</head>

<body>
  <h1>Fusioncharts Integration with MeteorJS</h1>
  {{> fusioncharts}}
</body>

<template name="fusioncharts">
  <div></div>
</template>

Importing Dependencies

In the JS file, replace the existing js code with the code given below to import the required dependency:

import { Template } from 'meteor/templating';
// Load the maps module
import FusionCharts from 'fusioncharts';
import FusionMaps from 'fusionmaps';
import Maps from 'fusionmaps/fusioncharts.maps';
import FintTheme from 'fusioncharts/themes/fusioncharts.theme.fint';
import World from 'fusionmaps/maps/fusioncharts.world';
import Countries from 'fusionmaps/maps/fusioncharts.worldwithcountries';

//import the HTML
import './main.html';

Passing Dependency

Now we need to pass the dependency using the following code:

//passing dependency
Maps(FusionMaps);
FintTheme(FusionCharts);
World(FusionMaps);
Countries(FusionMaps);

Create the Instance

Next, we will create the instance of the template fusioncharts using the following code-

Template.fusioncharts.onCreated(function () {
  this.type = "maps/worldwithcountries";
  this.width = 600;
  this.height = 400;
  this.dataFormat = 'json';
  this.dataSource = {
      "chart": {
        "animation": "0",
        "showbevel": "0",
        "usehovercolor": "1",
        "canvasbordercolor": "FFFFFF",
        "bordercolor": "0000fd",
        "showlegend": "1",
        "showshadow": "0",
        "legendposition": "BOTTOM",
        "legendborderalpha": "0",
        "legendbordercolor": "ffffff",
        "legendallowdrag": "0",
        "legendshadow": "0",
        "caption": "Mobile cellular subscriptions (per 100 people), 2015",
        "connectorcolor": "000000",
        "fillalpha": "80",
        "hovercolor": "CCCCCC",
        "showborder": "0",
        "showLabels":"0",
        "showEntityHoverEffect":"1",
        "borderAlpha":"60",
        "entityBorderHoverThickness":"1",
        "nullEntityColor":"ADACAC",
        "entityToolText": "<div style='font-size:14px; text-align:center; padding: 2px 4px 2px 4px; color:black;'>$lName</div><hr/><div style='font-size:12px;'>$value per 100 people</div>",  
      },
      "colorrange": {
        "minvalue": "0",
        "startlabel": "Low",
        "endlabel": "High",
        "code": "FFF7FB",
        "gradient": "1",
        "color": [{
          "maxvalue": "25",
          "code": "ECE7F2"
        }, {
          "maxvalue": "50",
          "code": "D0D1E6"
        },{
          "maxvalue": "75",
          "code": "A6BDDB"
        },
        {
          "maxvalue": "100",
          "code": "74A9CF"
        },
        {
          "maxvalue": "125",
          "code": "3690C0"
        },
        {
          "maxvalue": "150",
          "code": "0570B0"
        },
        {
          "maxvalue": "200",
          "code": "045A8D"
        },
        {
          "maxvalue": "250",
          "code": "034973"
        },
        {
          "maxvalue": "350",
          "code": "023858"
        }]
      },
      "data": [{
        "id": "01",
        "value": "137.2"
      }, {
        "id": "02",
        "value": "80.29"
      }, {
        "id": "03",
        "value": "116.4"
      }, {
        "id": "04",
        "value": "60.97"
      }, {
        "id": "05",
        "value": "82.97"
      }, {
        "id": "06",
        "value": "150.6"
      }, {
        "id": "07",
        "value": "29.65"
      }, {
        "id": "08",
        "value": "106.2"
      }, {
        "id": "09",
        "value": "82.58"
      }, {
        "id": "10",
        "value": "145.2"
      }, {
        "id": "11",
        "value": "112.2"
      }, {
        "id": "12",
        "value": "112.2"
      }, {
        "id": "13",
        "value": "68.84"
      }, {
        "id": "14",
        "value": "95.54"
      }, {
        "id": "15",
        "value": "111.5"
      }, {
        "id": "16",
        "value": "85.98"
      }, {
        "id": "17",
        "value": "116.1"
      }, {
        "id": "18",
        "value": "174.1"
      }, {
        "id": "19",
        "value": "131.8"
      }, {
        "id": "20",
        "value": "101.5"
      }, {
        "id": "21",
        "value": "103.6"
      }, {
        "id": "22",
        "value": "157.6"
      }, {
        "id": "23",
        "value": "117.5"
      }, {
        "id": "24",
        "value": "106.5"
      }, {
        "id": "25",
        "value": "146.7"
      }, {
        "id": "26",
        "value": "92.18"
      }, {
        "id": "27",
        "value": "126.5"
      }, {
        "id": "28",
        "value": "129.4"
      }, {
        "id": "29",
        "value": "115.7"
      }, {
        "id": "30",
        "value": "79.77"
      }, {
        "id": "31",
        "value": " "
      }, {
        "id": "32",
        "value": " "
      }, {
        "id": "33",
        "value": "67.18"
      }, {
        "id": "34",
        "value": "105.3"
      }, {
        "id": "35",
        "value": "109.8"
      }, {
        "id": "36",
        "value": "136.8"
      }, {
        "id": "37",
        "value": "160.2"
      }, {
        "id": "38",
        "value": "92.9"
      }, {
        "id": "39",
        "value": "106.3"
      }, {
        "id": "40",
        "value": "60.84"
      }, {
        "id": "41",
        "value": "85.64"
      }, {
        "id": "42",
        "value": "169.0"
      }, {
        "id": "43",
        "value": "80.64"
      }, {
        "id": "44",
        "value": "46.22"
      }, {
        "id": "45",
        "value": "71.84"
      }, {
        "id": "46",
        "value": "118.5"
      }, {
        "id": "47",
        "value": "25.86"
      }, {
        "id": "48",
        "value": "40.17"
      }, {
        "id": "49",
        "value": "55.16"
      }, {
        "id": "50",
        "value": "119.3"
      }, {
        "id": "51",
        "value": "52.9"
      }, {
        "id": "52",
        "value": "34.94"
      }, {
        "id": "53",
        "value": "110."
      }, {
        "id": "54",
        "value": "66.71"
      }, {
        "id": "55",
        "value": "7.049"
      }, {
        "id": "56",
        "value": "42.76"
      }, {
        "id": "57",
        "value": "161.1"
      }, {
        "id": "58",
        "value": "129.7"
      }, {
        "id": "59",
        "value": "69.27"
      }, {
        "id": "60",
        "value": "69.27"
      }, {
        "id": "61",
        "value": "80.67"
      }, {
        "id": "62",
        "value": "100.9"
      }, {
        "id": "63",
        "value": "81.09"
      }, {
        "id": "64",
        "value": "157.0"
      }, {
        "id": "65",
        "value": "44.1"
      }, {
        "id": "66",
        "value": "37.93"
      }, {
        "id": "67",
        "value": "139.6"
      }, {
        "id": "68",
        "value": "89.32"
      }, {
        "id": "69",
        "value": "126.8"
      }, {
        "id": "70",
        "value": "74.23"
      }, {
        "id": "71",
        "value": "106.5"
      }, {
        "id": "72",
        "value": "46.49"
      }, {
        "id": "73",
        "value": "82.18"
      }, {
        "id": "74",
        "value": "70.48"
      }, {
        "id": "75",
        "value": "65.09"
      }, {
        "id": "76",
        "value": "99.94"
      }, {
        "id": "77",
        "value": "158.1"
      }, {
        "id": "78",
        "value": "89.52"
      }, {
        "id": "79",
        "value": "52.46"
      }, {
        "id": "80",
        "value": "164.5"
      }, {
        "id": "81",
        "value": "70.52"
      }, {
        "id": "82",
        "value": "73.20"
      }, {
        "id": "83",
        "value": "75.85"
      }, {
        "id": "84",
        "value": "67.70"
      }, {
        "id": "85",
        "value": "129.9"
      }, {
        "id": "86",
        "value": "50.37"
      }, {
        "id": "87",
        "value": " "
      }, {
        "id": "88",
        "value": "74.47"
      }, {
        "id": "89",
        "value": "84.78"
      }, {
        "id": "90",
        "value": "137"
      }, {
        "id": "91",
        "value": "111.6"
      }, {
        "id": "92",
        "value": " "
      }, {
        "id": "93",
        "value": "61.57"
      }, {
        "id": "94",
        "value": "115.8"
      }, {
        "id": "95",
        "value": "111."
      }, {
        "id": "96",
        "value": "81.89"
      }, {
        "id": "97",
        "value": "87.02"
      }, {
        "id": "98",
        "value": "108.1"
      }, {
        "id": "99",
        "value": "75.68"
      }, {
        "id": "100",
        "value": "133.0"
      }, {
        "id": "101",
        "value": "92.1"
      }, {
        "id": "102",
        "value": "117.3"
      }, {
        "id": "103",
        "value": "128.9"
      }, {
        "id": "104",
        "value": "78.06"
      }, {
        "id": "105",
        "value": "132."
      }, {
        "id": "106",
        "value": "93.38"
      }, {
        "id": "107",
        "value": "126.5"
      }, {
        "id": "108",
        "value": "156.8"
      }, {
        "id": "109",
        "value": "12.87"
      }, {
        "id": "110",
        "value": "118.4"
      }, {
        "id": "111",
        "value": "132"
      }, {
        "id": "112",
        "value": "53.09"
      }, {
        "id": "113",
        "value": "143.8"
      }, {
        "id": "114",
        "value": "104.9"
      }, {
        "id": "115",
        "value": "96.74"
      }, {
        "id": "116",
        "value": "66.91"
      }, {
        "id": "117",
        "value": "115.7"
      }, {
        "id": "118",
        "value": "159.9"
      }, {
        "id": "119",
        "value": "146.5"
      }, {
        "id": "120",
        "value": "110.5"
      }, {
        "id": "121",
        "value": "98.5"
      }, {
        "id": "122",
        "value": "152.7"
      }, {
        "id": "123",
        "value": "145.9"
      }, {
        "id": "124",
        "value": "73.31"
      }, {
        "id": "125",
        "value": "130.6"
      }, {
        "id": "126",
        "value": " "
      }, {
        "id": "127",
        "value": "228.6"
      }, {
        "id": "128",
        "value": "324.4"
      }, {
        "id": "129",
        "value": " "
      }, {
        "id": "130",
        "value": "88.12"
      }, {
        "id": "131",
        "value": "157.4"
      }, {
        "id": "132",
        "value": "123.6"
      }, {
        "id": "133",
        "value": "115.6"
      }, {
        "id": "134",
        "value": "90.15"
      }, {
        "id": "135",
        "value": "129.2"
      }, {
        "id": "136",
        "value": "103.7"
      }, {
        "id": "137",
        "value": "123.1"
      }, {
        "id": "138",
        "value": "128.3"
      }, {
        "id": "139",
        "value": "148.6"
      }, {
        "id": "140",
        "value": "135.4"
      }, {
        "id": "141",
        "value": "102.6"
      }, {
        "id": "142",
        "value": "116.7"
      }, {
        "id": "143",
        "value": "112."
      }, {
        "id": "144",
        "value": "118."
      }, {
        "id": "145",
        "value": "114.0"
      }, {
        "id": "146",
        "value": "103.7"
      }, {
        "id": "147",
        "value": "142.1"
      }, {
        "id": "148",
        "value": "127.5"
      }, {
        "id": "149",
        "value": "109.3"
      }, {
        "id": "150",
        "value": "139.5"
      }, {
        "id": "151",
        "value": "148.5"
      }, {
        "id": "152",
        "value": "98.78"
      }, {
        "id": "153",
        "value": "129.2"
      }, {
        "id": "154",
        "value": "108.0"
      }, {
        "id": "155",
        "value": "88.77"
      }, {
        "id": "156",
        "value": "162.1"
      }, {
        "id": "157",
        "value": "123.5"
      }, {
        "id": "158",
        "value": "111.1"
      }, {
        "id": "159",
        "value": "142.6"
      }, {
        "id": "160",
        "value": "110.4"
      }, {
        "id": "161",
        "value": "107.1"
      }, {
        "id": "162",
        "value": "115.1"
      }, {
        "id": "163",
        "value": "120.5"
      }, {
        "id": "164",
        "value": "122.3"
      }, {
        "id": "165",
        "value": "113.2"
      }, {
        "id": "166",
        "value": "108.1"
      }, {
        "id": "167",
        "value": "130.3"
      }, {
        "id": "168",
        "value": "136.4"
      }, {
        "id": "169",
        "value": "144.0"
      }, {
        "id": "170",
        "value": "124.1"
      }, {
        "id": "171",
        "value": " "
      }, {
        "id": "172",
        "value": "95.40"
      }, {
        "id": "173",
        "value": "96.02"
      }, {
        "id": "175",
        "value": "132.8"
      }, {
        "id": "176",
        "value": "108.2"
      }, {
        "id": "177",
        "value": "38.84"
      }, {
        "id": "178",
        "value": "29.24"
      }, {
        "id": "179",
        "value": "21.54"
      }, {
        "id": "180",
        "value": "67.78"
      }, {
        "id": "181",
        "value": "121.8"
      }, {
        "id": "182",
        "value": "111.5"
      }, {
        "id": "183",
        "value": "46.64"
      }, {
        "id": "184",
        "value": "62.37"
      }, {
        "id": "185",
        "value": "72.6"
      }, {
        "id": "186",
        "value": "69.08"
      }, {
        "id": "187",
        "value": "40.33"
      }, {
        "id": "188",
        "value": "66.24"
      }, {
        "id": "189",
        "value": "98.90"
      }, {
        "id": "190",
        "value": "185.2"
      }, {
        "id": "191",
        "value": "93.8"
      }, {
        "id": "192",
        "value": "133.4"
      }, {
        "id": "193",
        "value": "179.4"
      }, {
        "id": "194",
        "value": "231.7"
      }, {
        "id": "195",
        "value": "92.16"
      }, {
        "id": "196",
        "value": "159.8"
      }, {
        "id": "197",
        "value": "159.1"
      }, {
        "id": "198",
        "value": "176.5"
      }, {
        "id": "199",
        "value": "64.28"
      }, {
        "id": "200",
        "value": "187.3"
      }, {
        "id": "201",
        "value": "67.98"
      }, {
        "id": "202",
        "value": "87.09"
      }, {
        "id": "203",
        "value": "155."
      }, {
        "id": "204",
        "value": "23.85"
      }, {
        "id": "205",
        "value": "32.41"
      }, {
        "id": "206",
        "value": "135.7"
      }, {
        "id": "207",
        "value": " "
      }, {
        "id": "208",
        "value": "23.796"
      }, {
        "id": "209",
        "value": "57.94"
      }, {
        "id": "210",
        "value": " "
      }, {
        "id": "211",
        "value": " "
      }, {
        "id": "212",
        "value": " "
      }, {
        "id": "213",
        "value": " "
      }, {
        "id": "214",
        "value": "94.89"
      }, {
        "id": "215",
        "value": " "
      }, {
        "id": "216",
        "value": "141.1"
      }, {
        "id": "217",
        "value": " "
      }, {
        "id": "218",
        "value": "61.94"
      }, {
        "id": "219",
        "value": " "
      }, {
        "id": "220",
        "value": " "
      }, {
        "id": "221",
        "value": " "
      }, {
        "id": "222",
        "value": "206.6"
      }, {
        "id": "223",
        "value": " "
      }, {
        "id": "224",
        "value": " "
      }, {
        "id": "225",
        "value": " "
      }, {
        "id": "226",
        "value": " "
      }, {
        "id": "227",
        "value": " "
      }, {
        "id": "228",
        "value": "115.8"
      }, {
        "id": "229",
        "value": "155.2"
      }, {
        "id": "230",
        "value": " "
      }, {
        "id": "231",
        "value": " "
      }, {
        "id": "232",
        "value": "230.95"
      }, {
        "id": "233",
        "value": "200."
      }, {
        "id": "234",
        "value": " "
      }, {
        "id": "235",
        "value": " "
      }, {
        "id": "236",
        "value": " "
      }, {
        "id": "237",
        "value": " "
      }, {
        "id": "238",
        "value": "145.8"
      }, {
        "id": "239",
        "value": "74.51"
      }, {
        "id": "240",
        "value": " "
      }, {
        "id": "241",
        "value": " "
      }]
    };
});

DOM

Copy the JS code given below to your file, to insert the instance of the FusionCharts template into the DOM

Template.fusioncharts.onRendered(function () {
  this.chartObj = new FusionCharts({
    width: this.width,
    height: this.height,
    renderAt: this.firstNode,
    type: this.type,
    dataFormat: this.dataFormat,
    dataSource: this.dataSource
  });
  this.chartObj.render();
});

Render the Map

Start the server using command meteor and check the URL- http://localhost:3000/ in your browser. The output looks like as shown below:
create-charts-meteor-js

If you see any errors in your code or have trouble executing the above sample, click here to download the complete source code of the sample project we have created for this tutorial.

 

Take your data visualization to a whole new level

From column to donut and radar to gantt, FusionCharts provides with over 100+ interactive charts & 2,000+ data-driven maps to make your dashboards and reports more insightful

Explore FusionCharts

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Your next great dashboard starts here

With our interactive and responsive charts, extensive documentation, consistent API, and cross-browser support - delight your customers with kick-ass dashboards

Explore FUSIONCHARTS