JavaScript Chart Libraries

Jun 5, 2020

D3.js

D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.

Chart.js

Simple yet flexible JavaScript charting for designers & developers

Google Charts

Google chart tools are powerful, simple to use, and free.

Chartist.js

Simple responsive charts.

Recharts

A composable charting library built on React components.

Flot

Flot is a pure JavaScript plotting library for jQuery, with a focus on simple usage, attractive looks and interactive features.

HighCharts

Highcharts makes it easy for developers to set up interactive charts in their web pages

Plotly

Built on top of d3.js and stack.gl, Plotly.js is a high-level, declarative charting library. plotly.js ships with over 40 chart types, including 3D charts, statistical graphs, and SVG maps.

Raphael JS

Rapahel.js is a javascript library designed specifically for artists and graphic designers. It is the brush that you can use to apply images directly to the canvas of the browser.

C3.js

D3-based reusable chart library

React-Vis

A composable charting library

React Virtualized

React components for efficiently rendering large lists and tabular data.

Victory

React.js components for modular charting and data visualization.

NVD3

This project is an attempt to build re-usable charts and chart components for d3.js without taking away the power that d3.js gives you.

MetricsGraphics.js

MetricsGraphics.js is a library built on top of D3 that is optimized for visualizing and laying out time-series data. It provides a simple way to produce common types of graphics in a principled, consistent and responsive way. The library currently supports line charts, scatterplots, histograms, bar charts and data tables as well as features like rug plots and basic linear regression.

AMCharts

Programming library for all your data visualization needs.

AnyChart

AnyChart’s product family is a set of flexible JavaScript (HTML5) libraries for all your data visualization needs.

Fusion Charts

Whether you are building a dashboard for desktop or mobile, with simple or complex data, FusionCharts has you covered

Zing Chart

Create animated & interactive charts with hundreds of thousands of data records using the ZingChart JavaScript charting library.

Sigma JS

Sigma is a JavaScript library dedicated to graph drawing. It makes easy to publish networks on Web pages, and allows developers to integrate network exploration in rich Web applications.

n3-charts

Awesome charts for Angular

Protovis

Protovis composes custom views of data with simple marks such as bars and dots. Unlike low-level graphics libraries that quickly become tedious for visualization, Protovis defines marks through dynamic properties that encode data, allowing inheritance, scales and layouts to simplify construction.

dygraphs

dygraphs is a fast, flexible open source JavaScript charting library.

APEXCHARTS.JS

Modern & Interactive Open-source Charts

Frappe Charts

GitHub-inspired simple and modern SVG charts for the web with zero dependencies.

Britecharts

Britecharts is a client-side reusable Charting Library based on D3.js v5 that offers easy and intuitive use of charts and components that can be composed together to create amazing visualizations.

Rickshaw

Rickshaw is a JavaScript toolkit for creating interactive time series graphs.

Zeu.js

Zeu.js is JavaScript library featuring a collection of prebuilt visualization components for building real-time TV dashboard, monitoring UI and IoT web interface.

Dracula.js

Dracula.js is a set of tools to display and layout interactive connected graphs and networks, along with various related algorithms from the field of graph theory.

xCharts

xCharts is a JavaScript library for building beautiful and custom data-driven chart visualizations for the web using D3.js

dc.js

dc.js is an easy yet powerful javascript library for data visualization and analysis in the browser and on mobile devices.

jqPlot

jqPlot is a plotting and charting plugin for the jQuery Javascript framework. jqPlot produces beautiful line, bar and pie charts with many features.

VivaGraphJS

Graph drawing library for JavaScript

TauCharts

D3 based data-focused charting library. Designed with passion. Flexible.

chartkick.js

Create beautiful charts with one line of JavaScript

Pizza Pie Charts

Creating responsive pie charts for any device is a piece of pie.

Easy pie chart

easy pie chart is a lightweight plugin to draw simple, animated pie charts for single values

jQuery Charts

CanvasJS jQuery Charting Plugin lets you add interactive & responsive graphs to your web page with just a few lines of code.

Rgraph

Beautiful javascript charts for websites

Angular Chart JS

Reactive, responsive, beautiful charts for AngularJS based on Chart.js

React Chart JS

Common react charting components using chart.js

vue-chartjs

Easy and beautiful charts with Chart.js and Vue.js

Chart Builder

TOAST UI Chart

TOAST UI Chart supports an easy way to draw various and essential charts on your web service.

Smoothie Charts

A JavaScript Charting Library for Streaming Data

billboard.js

Re-usable, easy interface JavaScript chart library, based on D3 v4+.

Ember Charts

A powerful and easy to use charting library for Ember.js.

roughViz

Reusable JavaScript library for creating sketchy/hand-drawn styled charts in the browser.

uPlot

📈 A small, fast chart for time series, lines, areas, ohlc & bars

References:

Categories : JavaScript

Windows Subsystem for Linux

Jun 5, 2020

The Windows Subsystem for Linux lets developers run a GNU/Linux environment – including most command-line tools, utilities, and applications – directly on Windows, unmodified, without the overhead of a virtual machine.

Installing Windows Subsystem for Linux

Open PowerShell as Administrator and run:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

power shell

Restart your machine to complete the WSL install.

Install your Linux distribution of choice

  • Open the Microsoft Store and select your favorite Linux distribution.
  • From the distribution’s page, select “Get”.

References:

Categories : Linux   Windows

React Native

May 1, 2020

React Native is a JavaScript framework for writing real, natively rendering mobile applications for iOS and Android. It’s based on React, Facebook’s JavaScript library for building user interfaces, but instead of targeting the browser, it targets mobile platforms.

Benefits:

  • Allows Performing Development Faster, and, Therefore, It Costs Less.
  • Provides Cross-Platform support.
  • Increases the efficiency of Native Apps Development Increases Many-Fold.
  • Focusses on UI and Access to Native API out of the Box
  • Single Code Base for iOS and Android
  • Transforms Any Web Project into a Mobile Decision Easily
  • App Performs as a Native App

References

Categories : Mobile   React

View Port

Apr 12, 2020

The browser’s viewport is the area of the window in which web content can be seen. This is often not the same size as the rendered page, in which case the browser provides scrollbars for the user to scroll around and access all the content. Narrow screen devices (e.g. mobiles) render pages in a virtual window or viewport, which is usually wider than the screen, and then shrink the rendered result down so it can all be seen at once. This virtual viewport is a way to make non-mobile-optimized sites in general look better on narrow screen devices.

<meta name="viewport" content="width=device-width, initial-scale=1">

The width property controls the size of the viewport. The special value device-width, which is the width of the screen in CSS pixels at a scale of 100%. The initial-scale property controls the zoom level when the page is first loaded.

References:

  • https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag
  • https://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html
  • https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html
  • https://www.quirksmode.org/mobile/viewports2.html
  • https://docs.adobe.com/content/help/en/target/using/experiences/vec/mobile-viewports.html
Categories : HTML

Immutable JS

Apr 9, 2020

Much of what makes application development difficult is tracking mutation and maintaining state. Immutability means that once you call that data structure in being, you can’t make changes to (a.k.a. mutate) the data structure and the data it contains at that particular memory location.

In Javascript, we have both immutable and mutable data structures. In JavaScript, strings and numbers are immutable by design. Examples of native JavaScript values that are mutable include objects, arrays, functions, classes, sets, and maps.

// Code from https://benmccormick.org/2016/06/04/what-are-mutable-and-immutable-data-structures-2
let a = 'test';
let b = a;
a = a.substring(2);

console.log(a) //st
console.log(b) //test
console.log(a === b) //false
// Code from https://benmccormick.org/2016/06/04/what-are-mutable-and-immutable-data-structures-2
let a = {
    foo: 'bar'
};

let b = a;

a.foo = 'test';

console.log(b.foo); // test
console.log(a === b) // true

Benefits of Immutablity : Easier to Debug, Persistence, Easier Deep Value Comparisons, Concurrency

References:

  • https://immutable-js.github.io/immutable-js/
  • https://medium.com/@yej.arin.choi/this-is-a-post-that-summarizes-my-dive-into-immutability-in-programming-what-it-is-why-its-34cbba44f889
  • https://www.sitepoint.com/immutability-javascript/
  • https://developer.mozilla.org/en-US/docs/Glossary/Mutable
  • https://benmccormick.org/2016/06/04/what-are-mutable-and-immutable-data-structures-2
Categories : JavaScript