All Projects → vasturiano → Timelines Chart

vasturiano / Timelines Chart

Licence: mit
Timelines Chart

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Timelines Chart

Eon Chart
Realtime animated graphs with PubNub and C3.
Stars: ✭ 121 (-53.28%)
Mutual labels:  time-series, d3js
Reaviz
📊 Data visualization library for React based on D3
Stars: ✭ 215 (-16.99%)
Mutual labels:  heatmap, d3js
Reaviz
📊 Data visualization library for React based on D3
Stars: ✭ 1,141 (+340.54%)
Mutual labels:  heatmap, d3js
leaflet heatmap
简单的可视化湖州通话数据 假设数据量很大,没法用浏览器直接绘制热力图,把绘制热力图这一步骤放到线下计算分析。使用Apache Spark并行计算数据之后,再使用Apache Spark绘制热力图,然后用leafletjs加载OpenStreetMap图层和热力图图层,以达到良好的交互效果。现在使用Apache Spark实现绘制,可能是Apache Spark不擅长这方面的计算或者是我没有设计好算法,并行计算的速度比不上单机计算。Apache Spark绘制热力图和计算代码在这 https://github.com/yuanzhaokang/ParallelizeHeatmap.git .
Stars: ✭ 13 (-94.98%)
Mutual labels:  heatmap, d3js
tsfeatures
Calculates various features from time series data. Python implementation of the R package tsfeatures.
Stars: ✭ 87 (-66.41%)
Mutual labels:  time-series
game of life-elixir
An implementation of Conway's Game of Life in Elixir
Stars: ✭ 22 (-91.51%)
Mutual labels:  d3js
react-heatmap-grid
A react component for heatmap visualisation in grid layout
Stars: ✭ 60 (-76.83%)
Mutual labels:  heatmap
MessyTimeSeries.jl
A Julia implementation of basic tools for time series analysis compatible with incomplete data.
Stars: ✭ 88 (-66.02%)
Mutual labels:  time-series
Chronix.server
The Chronix Server implementation that is based on Apache Solr.
Stars: ✭ 258 (-0.39%)
Mutual labels:  time-series
emerge
emerge is a source code analysis tool and dependency visualizer that can be used to gather insights about source code structure, metrics, dependencies and complexity of software projects. After scanning the source code of a project it provides you an interactive web interface to explore and analyze your project by using graph structures.
Stars: ✭ 120 (-53.67%)
Mutual labels:  d3js
webgl-3d-animation
An interactive 3D animation using WebGL to depict a 2D predator prey ecology on a grid real-time mapped onto the surface of a 3D torus. Sound file is parsed then visualized both in time and frequency domains as well as rendered using Web Audio API - this is an exercise where I taught myself how to display data for an ongoing project on sound syn…
Stars: ✭ 23 (-91.12%)
Mutual labels:  time-series
heatmap-rails
Complete solution for clicks & user focused areas on websites. It includes functionality to store & show heatmap related data.
Stars: ✭ 33 (-87.26%)
Mutual labels:  heatmap
luftdatenpumpe
Process live and historical data from luftdaten.info, IRCELINE and OpenAQ. Filter by station-id, sensor-id and sensor-type, apply reverse geocoding, store into timeseries and RDBMS databases, publish to MQTT, output as JSON or visualize in Grafana.
Stars: ✭ 22 (-91.51%)
Mutual labels:  time-series
Machine-Learning
Machine Learning Projects
Stars: ✭ 19 (-92.66%)
Mutual labels:  time-series
NNS
Nonlinear Nonparametric Statistics
Stars: ✭ 26 (-89.96%)
Mutual labels:  time-series
khiva-ruby
High-performance time series algorithms for Ruby
Stars: ✭ 27 (-89.58%)
Mutual labels:  time-series
gayhub
pretty gayhub 👿👿👿
Stars: ✭ 35 (-86.49%)
Mutual labels:  heatmap
streamformatics
Real-time species-typing visualisation for nanopore data.
Stars: ✭ 13 (-94.98%)
Mutual labels:  d3js
Synthetic-data-gen
Various methods for generating synthetic data for data science and ML
Stars: ✭ 57 (-77.99%)
Mutual labels:  time-series
financial-ts-prediction-with-deeplearning
(Work In Progress) Implementation of "Financial Time Series Prediction Using Deep Learning"
Stars: ✭ 15 (-94.21%)
Mutual labels:  time-series

Timelines Chart

NPM package Build Size Dependencies

A parallel timelines layout (swimlanes) for representing state of time-series over time. Each timeline segment can be assigned a value on a color scale, either continuous (heatmap mode) or ordinal (for categorical representation). Time-series can be grouped into logical groups, represented as distinct sections. Allows for exploration using drag-to-zoom or a timeline brush.

Check out the examples:

Quick start

import TimelinesChart from 'timelines-chart';

or

TimelinesChart = require('timelines-chart');

or even

<script src="//unpkg.com/timelines-chart"></script>

then

const myChart = TimelinesChart();
myChart
    .data(<myData>)
    (<myDOMElement>);

API reference

Method Description Default
data([array]) Getter/setter for chart data (see below for syntax details). []
width([number]) Getter/setter for the chart width in px. <window width>
maxHeight([number]) Getter/setter for the chart's maximum height in px. 640
maxLineHeight([number]) Getter/setter for the maximum height of each line, in px. 12
leftMargin([number]) Getter/setter for the chart's left margin, which contains the left-side group axis labels. 90
rightMargin([number]) Getter/setter for the chart's right margin, which contains the right-side series axis labels. 100
topMargin([number]) Getter/setter for the chart's top margin, which contains the color legend. 26
bottomMargin([number]) Getter/setter for the chart's bottom margin, which contains the time axis labels. 30
useUtc([boolean]) Getter/setter for whether to display time in the local time zone (false) or in UTC (true). false
timeFormat([string]) Getter/setter for the time format to use in tooltips. See d3-time-format for available options. %Y-%m-%d %-I:%M:%S %p
xTickFormat([function]) X axis tick label formatter function, as pass-through to d3-axis. By default, it uses a multi-scale time format.
dateMarker([date object]) Getter/setter for the date marker to show as a vertical line. If a falsy value is used, no marker is shown. null
minSegmentDuration([number]) Getter/setter for the minimum time duration (in msecs) of a segment in order for it to be shown. 0
getNLines() Returns number of timelines currently visible in the chart. -
getTotalNLines() Returns total number of timelines in the chart. -
zQualitative([boolean]) Getter/setter for whether the segment data color values are categorical (true) or quantitative (false). This will affect how the color legend is presented, and changing it will automatically toggle the zColorScale between defaults. false
zColorScale([d3 scale object]) Getter/setter for the color scale to be used for coloring the segments according to their data values. This object should be a D3 color scale object. qualitative: d3.scaleOrdinal(<color-list>)
quantitative: d3.scaleSequential(<color-interpolator>)
zDataLabel([string]) Getter/setter for the units of z data. Used in the tooltip descriptions.
zScaleLabel([string]) Getter/setter for the color scale label. Only applicable to quantitative z scales.
sort([[function, function]]) Sorts the timelines and groups according to two name comparison functions: function(labelCmpFn, groupCompFn). Each comparison function should follow the signature function(nameA, nameB) and return a numeric value. (<alpha-numeric-cmp>, <alpha-numeric-cmp>)
sortAlpha([[boolean]]) Sorts the timelines and groups in alpha-numeric order. The boolean parameter indicates whether the order should be ascending (true) or descending (false). true
sortChrono([[boolean]]) Sorts the timelines and groups in chronological order of their most recent data point. The boolean parameter indicates whether the order should be ascending (true) or descending (false). true
zoomX([[startDate, endDate]]) Getter/setter for the chart's time (horizontal) zoom. A null value indicates a zoom reset to full extent. null
zoomY([[number, number]]) Getter/setter for the chart's vertical zoom. The parameter should follow the syntax [<start row index>, <end row index>]. A null value indicates a zoom reset to full extent. null
zoomYLabels([[number, number]]) Getter/setter for the chart's vertical zoom in terms of timeline labels. The parameter should follow the syntax [<start label>, <end label>]. A null value indicates a zoom reset to full extent. null
onZoom([function]) Getter/setter for the callback function for user initiated zoom (incl. zoom resets). Callback will have two parameters: onZoom([startDate, endDate], [startY, endY]). null
enableOverview([boolean]) Getter/setter for whether to show an interactive timeline overview below the chart. true
overviewDomain([[startDate, endDate]]) Getter/setter for the time extent shown in the overview section below the chart. <auto-derived from data: [minTs, maxTs]>
getVisibleStructure() Returns data representation of timelines currently visible in the chart. -
getSvg() Returns graphic (SVG) representation of currently visible chart. -
enableAnimations([boolean]) Getter/setter for whether to animate transitions. true
onLabelClick([function]) Getter/setter for the callback function for clicking on the Y axis labels. Callback will include the clicked label (if applicable) and group parameter: onLabelClick(<string>, <string>). null
onSegmentClick([function]) Getter/setter for the callback function for clicking on a segment. Callback will return a segment object: onSegmentClick(segment). null
segmentTooltipContent([function]) Getter/setter for the callback function to populate a custom tooltip for segments. The segment data point is provided as sole argument: segmentTooltipContent(d). Supports plain text or HTML content. null
refresh() Rerenders chart. -

Data syntax

[
  {
    group: "group1name",
    data: [
      {
        label: "label1name",
        data: [
          {
            timeRange: [<date>, <date>],
            val: <val: number (continuous dataScale) or string (ordinal dataScale)>
          },
          {
            timeRange: [<date>, <date>],
            val: <val>
          },
          (...)
        ]
      },
      {
        label: "label2name",
        data: [...]
      },
      (...)
    ],
  },
  {
    group: "group2name",
    data: [...]
  },
  (...)
]

Giving Back

paypal If this project has helped you and you'd like to contribute back, you can always buy me a ☕!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].