Select A Date Range From A Column Chart - DateRange UI
File Size: | 16.8 KB |
---|---|
Views Total: | 742 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |

A greate alternative to a basic date range picker.
The DateRange UI jQuery plugin combines column chart and date range picker to provide a visual date selection UI.
Lightweight, animated, easy-to-use, fully responsive and touch friendly.
Built on top of jQuery and d3.js libraries.
How to use it:
1. Load the needed jQuery and d3.js libraries.
<script src="/path/to/cdn/jquery.min.js"></script> <script src="/path/to/cdn/d3.min.js"></script>
2. Load the DateRange UI's script after jQuery.
<script src="plugin.js"></script>
3. Create an empety DIV to hold the column chart & date range picker.
<div id="graph"></div>
4. Prepare your time-series data for the column chart.
var myData = [ { // year name "key_as_string":"1903", // value "doc_count":2, // unix timestamp in milliseconds "key":-2114384400000 }, { "key_as_string":"1904", "doc_count":7, "key":-2082848400000 }, // ... ]
5. Initialize the plugin to generate a column chart along with a custom date range picker at the bottom of it.
const graph = $("#graph").daterangeselect({ data: myData, // more options here });
6. Available options for the DateRange UI.
const graph = $("#graph").daterangeselect({ data: myData, height: 320, rangeBarOpacity: 0.4, handleScaleFactor: 1.6, dataLengthTrigger: 30 // show tick values on x-axis for each bar or every 10th element });
7. Override the default styles.
#graph { position: relative; width: 100%; } #range { color: #fff; font-size: 20px; background-color: #d81b60; padding: 5px 10px; } #graph text { fill: #ccc; } #graph tik { fill: #ccc; } #graph .domain, #graph line { stroke: #ccc; } #graph .bars .bar { fill: #bdb7b7; } #graph .bars .bar.highlight { fill: #d81b60 !important; } #graph .bars .axis--x path { display: none; } #graph .bars .bar.selected { fill: #fff; } #graph .handles .selector { fill: #fff; stroke: #777; stroke-width: 0.5px; } #graph .handles .selector.hovereffekt { stroke-width: 15px; stroke-opacity: 0.1; stroke: #eee; } #graph .handles .selector.active { fill: #ccc !important; } #graph .handles .range { fill: #fff; /* #d81b60 */ stroke: none; } #graph .handles .selector .handlehovertext { fill: #fff; stroke: none; font-size: 11px; font-family: Helvetica, Arial; } #graph .empty line { stroke: #d81b60 !important; } #graph .empty text { /* fill: #d81b60 !important; */ }
8. Customize the tooltip displayed when you hover over the column chart.
#graph div.tooltip { position: absolute; text-align: center; width: 40px; height: 24px; padding-top: 5px; font: 12px sans-serif; background: #ccc; border: 0px; border-radius: 2px; pointer-events: none; color: #333; } #graph div.tooltip:after { box-sizing: border-box; display: inline; width: 100%; line-height: 1; color: #ccc; content: "\25BC"; position: absolute; text-align: center; margin: -3px 0 0 0; top: 100%; left: 0; }
9. Callback functions.
const graph = $("#graph").daterangeselect({ data: myData, onRangeUpdate: function (obj) { //var myJSON = JSON.stringify(obj); //console.log("Clicked Section Data",obj); }, hoverText: function (obj) { return obj.key_as_string; } });
10. Update the column chart.
$("#graph").daterangeselect("update", newData);
This awesome jQuery plugin is developed by jpweinerdev. For more Advanced Usages, please check the demo page or visit the official website.