•        119

A visual, technical analysis and charting library built on D3. Build interactive financial charts for modern and mobile browsers. TechanJS utilises D3's reusable chart API pattern and currently supports a range of static and interactive plots.


d3 : ~4.2.6



Related Projects

TechAn - Technical Analysis Library for Golang

  •    Go

TechAn is a technical analysis library for Go! It provides a suite of tools and frameworks to analyze financial data and make trading decisions. Techan is heavily influenced by the great ta4j. It provides Basic and advanced technical analysis indicators, Profit and trade analysis and Strategy building.

XChart - Light weight Java library for plotting data

  •    Java

XChart is a light-weight and convenient library for plotting data designed to go from data to chart in the least amount of time possible and to take the guess-work out of customizing the chart style.

reaviz - 📊 Data visualization library for React based on D3

  •    TypeScript

REAVIZ is a modular chart component library that leverages React natively for rendering the components while using D3js under the hood for calculations. The library provides an easy way to get started creating charts without sacrificing customization ability.

JQuantLib - Comprehensive framework for quantitative finance

  •    Java

JQuantLib is a comprehensive framework for quantitative finance, written in 100% Java. It provides "quants" and Java application developers several mathematical and statistical tools needed for the valuation of shares, options, futures, swaps, and other financial instruments. JQuantLib is based on QuantLib, a well known open-source library for quantitative finance, written in C++. JQuantLib aims to be a complete rewrite of QuantLib, offering features Java developers expect to find. It aims to be fast, correct, strongly typed, well-documented, and user-friendly.


  •    C

GreatCharts is a program which will let you draw a wide range of stock-charts. For example Candlestick, OHLC. And functions like MAC, Stochastic, RSI, etc. Chart can be plotted in a very configurable way, to any picture size

ngx-graph - Graph visualization library for angular

  •    TypeScript

This library is focused on handling graph data (anything with nodes and edges) rather than chart data. Currently the only visualization uses the Dagre layout, which is specialized for directed graphs. The plan is to implement multiple visualisations for graph data within this same library. Eventually, ngx-charts-force-directed-graph may be imported into this library as another option to visualize your graph data. ngx-graph is a Swimlane open-source project; we believe in giving back to the open-source community by sharing some of the projects we build for our application. Swimlane is an automated cyber security operations and incident response platform that enables cyber security teams to leverage threat intelligence, speed up incident response and automate security operations.

Bootchart - Boot Process Performance Visualization

  •    Java

Bootchart is a tool for performance analysis and visualization of the GNU/Linux boot process. Resource utilization data and process information are collected during the boot process and can later be displayed in a PNG, SVG or EPS chart.

react-native-pathjs-charts - Android and iOS charts based on react-native-svg and paths-js

  •    Javascript

This library is a cross-platform (iOS/Android) library of charts/graphs using react-native-svg and paths-js based on the excellent work done by Roman Samec in the react-pathjs-chart library. The project is an early attempt at providing a ubiquitous solution for charts & graphs for React Native that offer a unified view across devices. Components include Pie charts, Bar charts, Smoothline charts, Stockline charts, Scatterplots, Tree graphs and Radar graphs. Since Paths-Js makes no assumptions about rendering, this library is perfect for using SVG path objects to render custom charts easily.

Ta4j - Technical Analysis for Java

  •    Java

Ta4j is an open source Java library for technical analysis. It provides the basic components for creation, evaluation and execution of trading strategies. It is a powerful engine for building custom trading strategies. It supports more than 130 technical indicators (Aroon, ATR, moving averages, parabolic SAR, RSI, etc.).

mapd-charting - Dimensional charting built to work natively with crossfilter rendered using d3.js

  •    Javascript

Dimensional charting built to work natively with crossfilter rendered using d3.js. MapD-Charting is a superfast charting library that works natively with crossfilter that is based off dc.js. It is designed to work with MapD-Connector and MapD-Crossfilter to create charts instantly with our MapD-Core SQL Database. Please see examples for further understanding to quickly create interactive charts.

dash - Interactive, Reactive Web Apps for Python. Dash Is Productive™

  •    Python

Build on top of Plotly.js, React, and Flask, Dash ties modern UI elements like dropdowns, sliders, and graphs directly to your analytical python code. Here’s a 43-line example of a Dash App that ties a Dropdown to a D3.js Plotly Graph. As the user selects a value in the Dropdown, the application code dynamically exports data from Google Finance into a Pandas DataFrame. This app was written in just 43 lines of code (view the source).

TA-Lib- Technical Analysis Library

  •    Java

Technical analysis library with indicators like ADX, MACD, RSI, Stochastic, TRIX... This is not an end-user GUI trading or charting application. It is instead targeted to application developers using either Excel, .NET, Mono, Java, Perl, Python or C/C++.


  •    C++

Stock market, commodity and technical analysis charting app based on the Qt toolkit. Extendible plugin system for quotes and indicators. Portfolio, back testing, chart objects and many more features included.

party-mode - An experimental music visualizer using d3.js and the web audio api.

  •    Javascript

Using the web audio api, I can get an array of numbers which corresponds to the waveform of the sound an html5 audio element is producing. There's a good tutorial on how to do this. Then, using requestAnimationFrame (with a little frame limiting for performance reasons) I'm updating that array as the music changes. I then normalize the data a bit (or transform it slightly depending on the visualization) and redraw the screen based on the updated array. I'm using d3.js to draw and redraw SVG based on this normalized data. Each visualization uses the data a bit differently -- it was mostly trial and error to get some stuff I liked looking at. Since I'm using D3 -- which is just drawing SVG -- I was able to style everything in CSS (no images are used at all, including icons). There are a handful of differently colored themes for each visualization, and I do some rudimentary CSS namespacing by updating a class applied to the html element. eg. <html class='theme_1'>. This lets me override or substitute CSS rules pretty trivially. I can add some additional variation to each theme by messing with pseudo selectors. For example, I can use :nth-of-type to hide every nth SVG rectangle or making every odd child have a different stroke-dasharray, etc.

paths-js - Generate SVG paths for geometric shapes :bar_chart:

  •    Javascript

Paths.js is a library to generate SVG paths, allowing you to create your own charts using a functional and testable API. It provides the primitives to create various shapes and charts starting from raw data, but it does not prescribe how you render these charts. This means you can use Paths.js to build components for your favorite frontend framework, and works even server-side on NodeJS. Paths.js offers three APIs, of increasing abstraction. The lowest level is a chainable API to generate an arbitrary SVG path. On top of this, paths for simple geometric shapes such as polygons or circle sectors are defined. At the highest level, there is an API to generate some simple graphs (pie, line chart, radar...) for a collection of data, assembling the simple shapes. - An interactive, browser-based graphing library for Python :sparkles:

  •    Python

Built on top of plotly.js, is a high-level, declarative charting library. plotly.js ships with over 30 chart types, including scientific charts, 3D graphs, statistical charts, SVG maps, financial charts, and more. is MIT Licensed. Plotly graphs can be viewed in Jupyter notebooks, standalone HTML files, or hosted online on

d3.chart - A framework for creating reusable charts with d3.js.

  •    Javascript

A framework for creating reusable charts with D3.js. Otherwise, you can download it directly from this repository.