SlideShare a Scribd company logo
FEED YOUR INNER
DATA SCIENTIST
JavaScript tools for Data Visualization and Analysis
GOAL FOR TODAY
Big Data
• Health
• Gov’t
• Financial
• Dev Ops
IOT
• Sensors
• Stats
BIO
Doug Mair
• Doug.Mair@gmail.com
• @doug_mair
Principal Consultant for Improving Enterprises
Windows Developer User Group – Columbus, Ohio
BIG DATA
• With IOT and business processes, lots of data is being collected
• Separation of concerns
• Process the data on the Server as much as possible
• Client computers should do as little work as possible.
• Services and Event Queues are good Architectures to explore
Feed your inner data scientist.  JS Visualization Tools
MAP / REDUCE
• MAP – Group, Sort and Filter.
• Take all of the stock trades and split them out by company,
date or time
• Can be massively parallelized.
• Reduce – Functions on each groups.
• Examples are Counts, Sums and Averages.
Feed your inner data scientist.  JS Visualization Tools
Feed your inner data scientist.  JS Visualization Tools
STOCK DATASET
Date Open High Low Close Volume Adj Close*
Oct 6, 2015 26.99 27.41 26.96 27.29 70,409,000 27.29
Oct 5, 2015 26.37 27.20 26.22 26.82 103,735,400 26.82
Oct 2, 2015 24.87 25.49 24.83 25.47 42,508,500 25.47
Oct 1, 2015 25.15 25.31 24.79 25.19 39,649,700 25.19
Sep 30, 2015 24.73 25.24 24.69 25.22 43,496,700 25.22
Sep 29, 2015 24.33 24.60 24.26 24.57 41,155,800 24.57
Sep 28, 2015 24.69 24.74 24.31 24.31 42,431,300 24.31
Sep 25, 2015 25.00 25.04 24.86 24.92 38,818,000 24.92
Sep 24, 2015 24.87 25.45 24.65 24.91 53,239,500 24.91
Sep 23, 2015 25.01 25.33 24.98 25.14 41,190,000 25.14
Sep 22, 2015 24.76 25.16 24.60 25.11 44,205,000 25.11
Sep 21, 2015 24.89 25.20 24.84 25.09 29,618,900 25.09
Sep 18, 2015 25.15 25.21 24.71 24.80 77,869,300 24.80
Sep 17, 2015 25.50 25.93 25.27 25.35 48,844,100 25.35
Sep 16, 2015 25.53 26.03 25.42 25.93 61,540,100 25.70
Sep 15, 2015 24.90 25.45 24.70 25.30 46,334,700 25.08
Sep 14, 2015 24.97 24.98 24.60 24.77 26,237,600 24.55
Sep 11, 2015 24.74 24.96 24.50 24.95 31,903,000 24.73
Sep 10, 2015 24.56 24.86 24.50 24.68 35,043,100 24.46
Sep 9, 2015 25.20 25.22 24.48 24.55 34,611,200 24.33
Sep 8, 2015 24.51 24.98 24.27 24.96 46,212,800 24.74
Sep 4, 2015 24.18 24.18 23.85 24.00 35,628,400 23.79
Sep 3, 2015 24.76 24.95 24.39 24.51 33,564,800 24.29
Sep 2, 2015 24.14 24.58 23.83 24.57 50,480,800 24.35
Sep 1, 2015 24.24 24.36 23.68 23.88 65,344,000 23.67
Aug 31, 2015 24.98 24.98 24.58 24.82 37,006,800 24.60
Aug 28, 2015 24.92 25.17 24.78 25.16 32,942,500 24.94
Aug 27, 2015 24.43 25.01 24.38 25.01 64,894,200 24.79
Aug 26, 2015 23.85 24.07 23.27 24.01 78,965,900 23.80
Aug 25, 2015 24.73 24.74 23.27 23.27 60,778,000 2
Month
Average
Open
High Low
Average
Close
Total Volume
OCT 25.845 27.41 25.19 26.19 256,302,600
SEP 24.79333 25.06905 24.54238 24.83429 927,769,100
AUG 24.77667 25.05333 24.58 24.99667 134,843,500
Feed your inner data scientist.  JS Visualization Tools
BUSINESS REQUIREMENT
MAKE A BAR CHART
• Now that we have all the data separated out …
• Your Client wants to see it in a Bar Chart.
• Options:
• Generate Chart server side and Embed PDF
• Plain old HTML and CSS
• D3
• And more …
From:
http://bost.ocks.org/mike/bar/
Example 1: HTML and Divs
D3.JS
D3.js is a JavaScript library for manipulating documents based on data. D3 helps you
bring data to life using HTML, SVG, and CSS. D3’s emphasis on web standards gives
you the full capabilities of modern browsers without tying yourself to a proprietary
framework, combining powerful visualization components and a data-driven approach
to DOM manipulation.
• Written by Mike Bostock
http://d3js.org/
D3 Gallery
https://github.com/d3/d3/wiki/Gallery
340+ Visual examples
600+ Links to even more examples
Look for a chart you want to create
and you will most likely find a
working sample to build from.
D3 SAMPLES
Force Layout Carto gram
D3.JS DATA DRIVEN BAR CHART
DC BARCHART
REQUIREMENT CHANGE
We want to switch from Bar Chart to Line Chart.
Should be easy right …
CLIENTS ARE HAPPY
• But …
• Now they want a Dashboard
with more features.
• Multiple charts that Interact
with each other.
D3 DASHBOARD
DC.JS
dc.js - Dimensional Charting Javascript Library
dc.js is a javascript charting library with native crossfilter support and allowing highly efficient
exploration on large multi-dimensional dataset (inspired by crossfilter's demo).
It leverages d3 engine to render charts in css friendly svg format. Charts rendered using dc.js
are naturally data driven and reactive therefore providing instant feedback on user's
interaction. The main objective of this project is to provide an easy yet powerful javascript
library which can be utilized to perform data visualization and analysis in browser as well as on
mobile device.
https://dc-js.github.io/dc.js/
• Fluent interface – Be careful of return type and order.
• Great for Dashboards
CROSS FILTER
Crossfilter is a JavaScript library for exploring large multivariate datasets in the
browser. Crossfilter supports extremely fast (<30ms) interaction with
coordinated views, even with datasets containing a million or more records; we
built it to power analytics for Square Register, allowing merchants to slice and
dice their payment history fluidly.
http://square.github.io/crossfilter/
CROSS FILTER
A Javascript Map / Reduce framework.
Steps for using Cross Filter
Create Indexes var ndx = crossfilter(data);
var all = ndx.groupAll();
Create Dimensions var dateDimension = ndx.dimension(function (d) { return d.date; });
Create Groups var dayWebGroup = dayDimension.group().reduceSum(function (d) { return
d.web; });
Use Groups on the charts stocksChart
.dimension(dayDimension)
.group(reduceGroup, "TV Spots")
DC DASHBOARD
DATATABLES
DataTables Table plug-in for jQuery
https://datatables.net/
DataTables is a plug-in for the jQuery Javascript library.
It is a highly flexible tool, based upon the foundations
of progressive enhancement, and will add advanced
interaction controls to any HTML table.
• Highly configurable JavaScript library for
displaying data in tables.
CONCLUSION
All Open Source – Still cant believe these tools are free.
Easy entry to building Dashboards.
It is still tough, but lots of help available online.
THANKS FOR LISTENING
Covered: d3.js, dc.js, crossfilter.js,
moment.js, datatables.net
Contact Info: Doug.Mair@gmail.com
@doug_mair
Feel free to ask Questions?
Ad

More Related Content

Similar to Feed your inner data scientist. JS Visualization Tools (20)

Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?
Takumi Sakamoto
 
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
Rittman Analytics
 
Building Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft AzureBuilding Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft Azure
Dmitry Anoshin
 
Supersizing Magento
Supersizing MagentoSupersizing Magento
Supersizing Magento
Clustrix
 
Supercharge your data analytics with BigQuery
Supercharge your data analytics with BigQuerySupercharge your data analytics with BigQuery
Supercharge your data analytics with BigQuery
Márton Kodok
 
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with  Apache Pulsar and Apache PinotBuilding a Real-Time Analytics Application with  Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Altinity Ltd
 
OSA Con 2022 - Building a Real-time Analytics Application with Apache Pulsar ...
OSA Con 2022 - Building a Real-time Analytics Application with Apache Pulsar ...OSA Con 2022 - Building a Real-time Analytics Application with Apache Pulsar ...
OSA Con 2022 - Building a Real-time Analytics Application with Apache Pulsar ...
Altinity Ltd
 
Cepta The Future of Data with Power BI
Cepta The Future of Data with Power BICepta The Future of Data with Power BI
Cepta The Future of Data with Power BI
Kellyn Pot'Vin-Gorman
 
Mstr meetup
Mstr meetupMstr meetup
Mstr meetup
Bhavani Akunuri
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph
Vincent Biret
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
Mark Rackley
 
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Microsoft TechNet - Belgium and Luxembourg
 
HTML5_elementos nuevos integrados ahora
HTML5_elementos  nuevos integrados ahoraHTML5_elementos  nuevos integrados ahora
HTML5_elementos nuevos integrados ahora
mano21161
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
Chris Love
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
David Wesst
 
Data Culture Series - Keynote & Panel - Reading - 12th May 2015
Data Culture Series  - Keynote & Panel - Reading - 12th May 2015Data Culture Series  - Keynote & Panel - Reading - 12th May 2015
Data Culture Series - Keynote & Panel - Reading - 12th May 2015
Jonathan Woodward
 
Big Data on Azure Tutorial
Big Data on Azure TutorialBig Data on Azure Tutorial
Big Data on Azure Tutorial
rustd
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB
 
Big data analytics enterprise and cloud computing
Big data analytics enterprise and cloud computingBig data analytics enterprise and cloud computing
Big data analytics enterprise and cloud computing
Cloud Credential Council
 
Sergiy Lunyakin "Cloud BI with Azure Analysis Services"
Sergiy Lunyakin "Cloud BI with Azure Analysis Services"Sergiy Lunyakin "Cloud BI with Azure Analysis Services"
Sergiy Lunyakin "Cloud BI with Azure Analysis Services"
DataConf
 
Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?Why and How SmartNews uses SaaS?
Why and How SmartNews uses SaaS?
Takumi Sakamoto
 
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
Rittman Analytics
 
Building Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft AzureBuilding Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft Azure
Dmitry Anoshin
 
Supersizing Magento
Supersizing MagentoSupersizing Magento
Supersizing Magento
Clustrix
 
Supercharge your data analytics with BigQuery
Supercharge your data analytics with BigQuerySupercharge your data analytics with BigQuery
Supercharge your data analytics with BigQuery
Márton Kodok
 
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with  Apache Pulsar and Apache PinotBuilding a Real-Time Analytics Application with  Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Altinity Ltd
 
OSA Con 2022 - Building a Real-time Analytics Application with Apache Pulsar ...
OSA Con 2022 - Building a Real-time Analytics Application with Apache Pulsar ...OSA Con 2022 - Building a Real-time Analytics Application with Apache Pulsar ...
OSA Con 2022 - Building a Real-time Analytics Application with Apache Pulsar ...
Altinity Ltd
 
Cepta The Future of Data with Power BI
Cepta The Future of Data with Power BICepta The Future of Data with Power BI
Cepta The Future of Data with Power BI
Kellyn Pot'Vin-Gorman
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph
Vincent Biret
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
Mark Rackley
 
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Microsoft TechNet - Belgium and Luxembourg
 
HTML5_elementos nuevos integrados ahora
HTML5_elementos  nuevos integrados ahoraHTML5_elementos  nuevos integrados ahora
HTML5_elementos nuevos integrados ahora
mano21161
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
Chris Love
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
David Wesst
 
Data Culture Series - Keynote & Panel - Reading - 12th May 2015
Data Culture Series  - Keynote & Panel - Reading - 12th May 2015Data Culture Series  - Keynote & Panel - Reading - 12th May 2015
Data Culture Series - Keynote & Panel - Reading - 12th May 2015
Jonathan Woodward
 
Big Data on Azure Tutorial
Big Data on Azure TutorialBig Data on Azure Tutorial
Big Data on Azure Tutorial
rustd
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB
 
Big data analytics enterprise and cloud computing
Big data analytics enterprise and cloud computingBig data analytics enterprise and cloud computing
Big data analytics enterprise and cloud computing
Cloud Credential Council
 
Sergiy Lunyakin "Cloud BI with Azure Analysis Services"
Sergiy Lunyakin "Cloud BI with Azure Analysis Services"Sergiy Lunyakin "Cloud BI with Azure Analysis Services"
Sergiy Lunyakin "Cloud BI with Azure Analysis Services"
DataConf
 

Recently uploaded (20)

Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Ad

Feed your inner data scientist. JS Visualization Tools

  • 1. FEED YOUR INNER DATA SCIENTIST JavaScript tools for Data Visualization and Analysis
  • 2. GOAL FOR TODAY Big Data • Health • Gov’t • Financial • Dev Ops IOT • Sensors • Stats
  • 3. BIO Doug Mair • [email protected] @doug_mair Principal Consultant for Improving Enterprises Windows Developer User Group – Columbus, Ohio
  • 4. BIG DATA • With IOT and business processes, lots of data is being collected • Separation of concerns • Process the data on the Server as much as possible • Client computers should do as little work as possible. • Services and Event Queues are good Architectures to explore
  • 6. MAP / REDUCE • MAP – Group, Sort and Filter. • Take all of the stock trades and split them out by company, date or time • Can be massively parallelized. • Reduce – Functions on each groups. • Examples are Counts, Sums and Averages.
  • 9. STOCK DATASET Date Open High Low Close Volume Adj Close* Oct 6, 2015 26.99 27.41 26.96 27.29 70,409,000 27.29 Oct 5, 2015 26.37 27.20 26.22 26.82 103,735,400 26.82 Oct 2, 2015 24.87 25.49 24.83 25.47 42,508,500 25.47 Oct 1, 2015 25.15 25.31 24.79 25.19 39,649,700 25.19 Sep 30, 2015 24.73 25.24 24.69 25.22 43,496,700 25.22 Sep 29, 2015 24.33 24.60 24.26 24.57 41,155,800 24.57 Sep 28, 2015 24.69 24.74 24.31 24.31 42,431,300 24.31 Sep 25, 2015 25.00 25.04 24.86 24.92 38,818,000 24.92 Sep 24, 2015 24.87 25.45 24.65 24.91 53,239,500 24.91 Sep 23, 2015 25.01 25.33 24.98 25.14 41,190,000 25.14 Sep 22, 2015 24.76 25.16 24.60 25.11 44,205,000 25.11 Sep 21, 2015 24.89 25.20 24.84 25.09 29,618,900 25.09 Sep 18, 2015 25.15 25.21 24.71 24.80 77,869,300 24.80 Sep 17, 2015 25.50 25.93 25.27 25.35 48,844,100 25.35 Sep 16, 2015 25.53 26.03 25.42 25.93 61,540,100 25.70 Sep 15, 2015 24.90 25.45 24.70 25.30 46,334,700 25.08 Sep 14, 2015 24.97 24.98 24.60 24.77 26,237,600 24.55 Sep 11, 2015 24.74 24.96 24.50 24.95 31,903,000 24.73 Sep 10, 2015 24.56 24.86 24.50 24.68 35,043,100 24.46 Sep 9, 2015 25.20 25.22 24.48 24.55 34,611,200 24.33 Sep 8, 2015 24.51 24.98 24.27 24.96 46,212,800 24.74 Sep 4, 2015 24.18 24.18 23.85 24.00 35,628,400 23.79 Sep 3, 2015 24.76 24.95 24.39 24.51 33,564,800 24.29 Sep 2, 2015 24.14 24.58 23.83 24.57 50,480,800 24.35 Sep 1, 2015 24.24 24.36 23.68 23.88 65,344,000 23.67 Aug 31, 2015 24.98 24.98 24.58 24.82 37,006,800 24.60 Aug 28, 2015 24.92 25.17 24.78 25.16 32,942,500 24.94 Aug 27, 2015 24.43 25.01 24.38 25.01 64,894,200 24.79 Aug 26, 2015 23.85 24.07 23.27 24.01 78,965,900 23.80 Aug 25, 2015 24.73 24.74 23.27 23.27 60,778,000 2 Month Average Open High Low Average Close Total Volume OCT 25.845 27.41 25.19 26.19 256,302,600 SEP 24.79333 25.06905 24.54238 24.83429 927,769,100 AUG 24.77667 25.05333 24.58 24.99667 134,843,500
  • 11. BUSINESS REQUIREMENT MAKE A BAR CHART • Now that we have all the data separated out … • Your Client wants to see it in a Bar Chart. • Options: • Generate Chart server side and Embed PDF • Plain old HTML and CSS • D3 • And more …
  • 13. D3.JS D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation. • Written by Mike Bostock http://d3js.org/
  • 14. D3 Gallery https://github.com/d3/d3/wiki/Gallery 340+ Visual examples 600+ Links to even more examples Look for a chart you want to create and you will most likely find a working sample to build from.
  • 16. D3.JS DATA DRIVEN BAR CHART
  • 18. REQUIREMENT CHANGE We want to switch from Bar Chart to Line Chart. Should be easy right …
  • 19. CLIENTS ARE HAPPY • But … • Now they want a Dashboard with more features. • Multiple charts that Interact with each other.
  • 21. DC.JS dc.js - Dimensional Charting Javascript Library dc.js is a javascript charting library with native crossfilter support and allowing highly efficient exploration on large multi-dimensional dataset (inspired by crossfilter's demo). It leverages d3 engine to render charts in css friendly svg format. Charts rendered using dc.js are naturally data driven and reactive therefore providing instant feedback on user's interaction. The main objective of this project is to provide an easy yet powerful javascript library which can be utilized to perform data visualization and analysis in browser as well as on mobile device. https://dc-js.github.io/dc.js/ • Fluent interface – Be careful of return type and order. • Great for Dashboards
  • 22. CROSS FILTER Crossfilter is a JavaScript library for exploring large multivariate datasets in the browser. Crossfilter supports extremely fast (<30ms) interaction with coordinated views, even with datasets containing a million or more records; we built it to power analytics for Square Register, allowing merchants to slice and dice their payment history fluidly. http://square.github.io/crossfilter/
  • 23. CROSS FILTER A Javascript Map / Reduce framework. Steps for using Cross Filter Create Indexes var ndx = crossfilter(data); var all = ndx.groupAll(); Create Dimensions var dateDimension = ndx.dimension(function (d) { return d.date; }); Create Groups var dayWebGroup = dayDimension.group().reduceSum(function (d) { return d.web; }); Use Groups on the charts stocksChart .dimension(dayDimension) .group(reduceGroup, "TV Spots")
  • 25. DATATABLES DataTables Table plug-in for jQuery https://datatables.net/ DataTables is a plug-in for the jQuery Javascript library. It is a highly flexible tool, based upon the foundations of progressive enhancement, and will add advanced interaction controls to any HTML table. • Highly configurable JavaScript library for displaying data in tables.
  • 26. CONCLUSION All Open Source – Still cant believe these tools are free. Easy entry to building Dashboards. It is still tough, but lots of help available online.
  • 27. THANKS FOR LISTENING Covered: d3.js, dc.js, crossfilter.js, moment.js, datatables.net Contact Info: [email protected] @doug_mair Feel free to ask Questions?

Editor's Notes

  • #6: We can tell this is not random data There's a structure here What does this resemble? Brain? Universe? It's a treasure trove of info, but not discoverable or explorable.  How do we get meaning out of it?
  • #8: Often the data we have in Raw form is useless to our users We have to coalesce and massage the data to get at what is vital This is where the secret sauce and IP of companies is built
  • #9: Found this on the Internet Funny, yet accurate example of Map Reduce Walk through each step
  • #10: This example is based on daily stock results Rolled up to provide monthly stats Notice multiple Reduction functions here. Compare the size of the data before and after Question: How can we tell which Company had the highest stock value for a month Question: How can we tell which Day had the most activity Answer: We can't because the data has been lost in the reduce
  • #11: This is what makes developing hard and keeps us in business It's important to spend time figuring out What details the customer need Which details get in the way Iteration of datasets is important Architect your data operations for change and growth Architect your data Visuals for change too
  • #12: You get a napkin with your requirements Document drawn on it. How can we do this? Switch to Example 1
  • #13: Switch to Example 2 Shows redoing this with D3 Select – Enter - Exit
  • #14: D3 works within the DOM Doesn't replace the DOM Similar concepts to jQuery Mike Bostock started it while working at New York Times Release in 2011. Strong Open Source Community.
  • #15: Here are examples of what D3 can do. Remember I said it was community supported Scroll through the items Switch to Example 2.1 then 2.2
  • #16: Lets use some of this power in our Bar Chart Switch to Example 3
  • #17: Code size is starting to grow. Can we refactor? DC.js can help. Built on top of D3.js. Switch to Example 4-DC-Bar-chart.html
  • #18: Cool, much fewer lines of code.
  • #19: Guess what, a new napkin appears … Switch to 5-D3-Line-chart.html
  • #20: How does interaction happen? Switch to 6-D3-Dashboard.html Show amount of CUSTOM code to add each chart.
  • #23: Go to the website to show the details.