GitHub-inspired modern, intuitive and responsive charts with zero dependencies
Explore Demos » Edit at CodePen »-
Install via
npm
:$ npm install frappe-charts
and include in your project:
import { Chart } from "frappe-charts"
...or include following for es-modules(eg:vuejs):
import { Chart } from 'frappe-charts/dist/frappe-charts.esm.js' // import css import 'frappe-charts/dist/frappe-charts.min.css'
-
...or include within your HTML
<script src="https://cdn.jsdelivr.net/npm/frappe-charts@1.1.0/dist/frappe-charts.min.iife.js"></script> <!-- or --> <script src="https://unpkg.com/frappe-charts@1.1.0/dist/frappe-charts.min.iife.js"></script>
const data = {
labels: ["12am-3am", "3am-6pm", "6am-9am", "9am-12am",
"12pm-3pm", "3pm-6pm", "6pm-9pm", "9am-12am"
],
datasets: [
{
name: "Some Data", type: "bar",
values: [25, 40, 30, 35, 8, 52, 17, -4]
},
{
name: "Another Set", type: "line",
values: [25, 50, -10, 15, 18, 32, 27, 14]
}
]
}
const chart = new frappe.Chart("#chart", { // or a DOM element,
// new Chart() in case of ES6 module with above usage
title: "My Awesome Chart",
data: data,
type: 'axis-mixed', // or 'bar', 'line', 'scatter', 'pie', 'percentage'
height: 250,
colors: ['#7cd6fd', '#743ee2']
})
...or for es-modules:
//replace new frappe.Chart() with new Chart()
const chart = new Chart("#chart", { // or a DOM element,
// new Chart() in case of ES6 module with above usage
title: "My Awesome Chart",
data: data,
type: 'axis-mixed', // or 'bar', 'line', 'scatter', 'pie', 'percentage'
height: 250,
colors: ['#7cd6fd', '#743ee2']
})
If you want to contribute:
- Clone this repo.
cd
into project directorynpm install
npm run dev
- Major rewrite out. Some new features include:
- Mixed type axis datasets
- Stacked bar charts
- Value over data points
- Y Markers and regions
- Dot size, Bar space size, and other options
- Legend for axis charts
- We would be looking to incorporate existing PRs and issues in the meantime.
Please read #93 for v0.1.0 updates on rework and development.
- Custom color values for charts as hex codes. The API now takes an array of colors for all charts instead of a color for each dataset.
- @iamkdev's blog on usage with Angular.
- More flexible Y values: independent from exponent, minimum Y axis point for line graphs.
- Customisable Heatmap colors; check out the Halloween demo on the website :D
- Tooltip values can be formatted.
- Build update: Shipped an ES6 module, along with the browser friendly IIFE.
- We have an animated Pie Chart! Thanks @sheweichun.
- @tobiaslins contributed tweaks for his quest to make these easy to use with React. Check out his repo and updates at #24 to learn more :)
- A new logo.
- The very first version out, with animatable bars and lines, a percentage chart and a heatmap. GitHub-style.
This repository has been released under the MIT License
Project maintained by Frappe. Used in ERPNext. Read the blog post.