Interactive Bar/Column Chart Plugin With jQuery And D3.js
File Size: | 33.9 KB |
---|---|
Views Total: | 6645 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |
An animated, interactive, dynamic, configurable, fully responsive bar/column chart plugin built using jQuery and D3.js.
More features:
- Dynamic data rendering.
- Shows/hides legends.
- Shows/hides grid lines.
- Custom number format.
- Filterable data.
- Shows details on hover.
- Smooth transitions.
- Supports both horizontal and vertical bars.
How to use it:
1. Include the latest version of jQuery and D3 libraries on the page.
<script src="/path/to/jquery.min.js"></script> <script src="/path/to/d3.min.js"></script>
2. Include the jQuery Animated Bar Chart plugin files from the dist
folder.
<link rel="stylesheet" href="/dist/bar.chart.min.css" /> <script src="/dist/jquery.bar.chart.min.js"></script>
3. Create a container in which the chart will be rendered.
<div id="chtAnimatedBarChart" class="example"></div>
4. Define your chart data in an array of JS objects as follows:
const myData = [ { "group_name": "Google", "name": "Jan", "value": 38367 }, { "group_name": "Apple", "name": "Jan", "value": 28827 }, { "group_name": "Microsoft", "name": "Jan", "value": 38674 }, { "group_name": "Samsung", "name": "Jan", "value": 40110 } ]
5. Initialize the plugin to generate a default bar/column chart.
$('#chtAnimatedBarChart').animatedBarChart({ data: myData });
6. Customize the columns from the data array for rendering the chart.
$('#chtAnimatedBarChart').animatedBarChart({ data: myData, params: { group_name: 'group_name', // title for group name to be shown in legend name: 'name', // name for xaxis value: 'value' // value for yaxis } });
7. Customize the appearance of the chart.
$('#chtAnimatedBarChart').animatedBarChart({ data: myData, // default chart height in px chart_height: 400, // enables horizontal bars horizontal_bars: false, // colors for chart colors: null, // show chart legend show_legend: true, // show x grid lines x_grid_lines: true, // show y grid lines y_grid_lines: true, // speed for tranistions tweenDuration: 300, // default bar settings bars: { padding: 0.075, // padding between bars opacity: 0.7, // default bar opacity opacity_hover: 0.45, // default bar opacity on mouse hover disable_hover: false, // disable animation and legend on hover hover_name_text: 'name', // text for name column for label displayed on bar hover hover_value_text: 'value', // text for value column for label displayed on bar hover }, // margins for chart rendering margin: { top: 0, // top margin right: 35, // right margin bottom: 20, // bottom margin left: 70 // left margin }, // rotate xaxis label params rotate_x_axis_labels: { process: true, // process xaxis label rotation minimun_resolution: 720, // minimun_resolution for label rotating bottom_margin: 15, // bottom margin for label rotation rotating_angle: 90, // angle for rotation, x_position: 9, // label x position after rotation y_position: -3 // label y position after rotation } });
8. Customize the number format.
$('#chtAnimatedBarChart').animatedBarChart({ data: myData, number_format: { format: ',.2f', // default number format decimal: '.', // decimal symbol thousands : ',', // thousand separator symbol grouping: [3], // thousand separator grouping currency: ['$'] // currency symbol } });
9. Customize the legends
$('#chtAnimatedBarChart').animatedBarChart({ data: myData, legend: { position: LegendPosition.bottom, // legend position (bottom/top/right/left) width: 200 // legend width in pixels for left/right } });
10. Update the chart with new data.
instance.updateChart({ data: new_chart_data });
Changelog:
v1.2 (2019-04-04)
- Set legend position (option: legend: { position: LegendPosition.right, width: 200 }), look at right legend example (examples/right_legend_example.html),
- Add resposive styles for the legend,
- Bug Fixes.
2019-04-02
- Added horizontal bar
This awesome jQuery plugin is developed by vnidev. For more Advanced Usages, please check the demo page or visit the official website.