- Notifications
You must be signed in to change notification settings - Fork731
Simple, responsive, modern SVG Charts with zero dependencies
License
NotificationsYou must be signed in to change notification settings
frappe/charts
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Frappe Charts is a simple charting library with a focus on a simple API. The design is inspired by various charts you see on GitHub.
ERPNext needed a simple sales history graph for its user company master to help users track sales. While using c3.js for reports, the library didn’t align well with our product’s classic design. Existing JS libraries were either too complex or rigid in their structure and behavior. To address this, I decided to create a library for translating value pairs into relative shapes or positions, focusing on simplicity.
- Variety of chart types: Frappe Charts supports various chart types, including Axis Charts, Area and Trends, Bar, Line, Pie, Percentage, Mixed Axis, and Heatmap.
- Annotations and tooltips: Charts can be annotated with x and y markers, regions, and tooltips for enhanced data context and clarity.
- Dynamic data handling: Add, remove, or update individual data points in place, or refresh the entire dataset to reflect changes.
- Customizable configurations: Flexible options like colors, animations, and custom titles allow for a highly personalized chart experience.
npm install frappe-charts
Import in your project:
import{Chart}from'frappe-charts'// or esm importimport{Chart}from'frappe-charts/dist/frappe-charts.esm.js'// import cssimport'frappe-charts/dist/frappe-charts.min.css'
Or directly include script in your HTML
<scriptsrc="https://unpkg.com/frappe-charts@1.6.1/dist/frappe-charts.min.umd.js"></script>
constdata={labels:["12am-3am","3am-6pm","6am-9am","9am-12am","12pm-3pm","3pm-6pm","6pm-9pm","9am-12am"],datasets:[{name:"Some Data",chartType:"bar",values:[25,40,30,35,8,52,17,-4]},{name:"Another Set",chartType:"line",values:[25,50,-10,15,18,32,27,14]}]}constchart=newfrappe.Chart("#chart",{// or a DOM element,// new Chart() in case of ES6 module with above usagetitle:"My Awesome Chart",data:data,type:'axis-mixed',// or 'bar', 'line', 'scatter', 'pie', 'percentage'height:250,colors:['#7cd6fd','#743ee2']})
- Clone this repo.
cd
into project directorynpm install
npm i npm-run-all -D
(optional --> might be required for some developers)npm run dev
About
Simple, responsive, modern SVG Charts with zero dependencies
Topics
Resources
License
Stars
Watchers
Forks
Packages0
No packages published