際際滷

際際滷Share a Scribd company logo
@byrichardpowell
byrichardpowell.co.uk
Thursday, 28 November 13
Thursday, 28 November 13
Manage your infrastructure
Thursday, 28 November 13
Monitor your devices
Thursday, 28 November 13
Monitor your services
Thursday, 28 November 13
Thursday, 28 November 13
25 TB of data per month

Thursday, 28 November 13
The backbone logo inside a rickshaw

Time Series Graphs
with Rickshaw, D3 & Backbone.js
Thursday, 28 November 13
Why talk about
data visulisation?

Thursday, 28 November 13
Spot Patterns

gapminder.org/world/
Thursday, 28 November 13
Spot Patterns

gapminder.org/world/
Thursday, 28 November 13
Diagnose Problems
Thursday, 28 November 13
Funny picture

Data visualization can be beautiful
Je Thorp: Word Frequency
Thursday, 28 November 13
Data Visualization is awesome
this kid, 2013

Thursday, 28 November 13
Overview

1.
2.
3.
4.

SVG, D3, Rickshaw
Data Visualisation Design
API Design
Backbone

Thursday, 28 November 13
1. SVG, D3 & Rickshaw

Thursday, 28 November 13
A modularized language
for describing two-dimensional vector
and mixed vector/raster graphics in XML
w3.org/TR/SVG/

Thursday, 28 November 13
Elements & Attributes
Thursday, 28 November 13
website

snapsvg.io
Thursday, 28 November 13
pablojs.com/
Thursday, 28 November 13
raphaeljs.com/
Thursday, 28 November 13
Why D3 & Why Rickshaw?

Thursday, 28 November 13
Mike Bostock
@mbostock

Thursday, 28 November 13
examples?

github.com/mbostock/d3/wiki/Gallery
Thursday, 28 November 13
Horizon Graphs
square.github.io/cubism/

Thursday, 28 November 13
Calender Heatmaps
bl.ocks.org/mbostock/4063318

Thursday, 28 November 13
Rickshaw is feature rich
* Line
* Stacked
* Scaled Series
* Custom Axis Formatting
* Custom tooltips
* Disabling/enabling series

Thursday, 28 November 13
Rickshaw is feature rich
* Scatterplots
* Bar charts
* Mixed charts
* Logarithmic & Absolute Scaling
* Annotations

Thursday, 28 November 13
xkcd.com/418/
Thursday, 28 November 13
2. Design

Thursday, 28 November 13
Above all else show the data
Edward Rolf Tufte, 1983

Thursday, 28 November 13
bit.ly/183R6sT
Thursday, 28 November 13
bit.ly/183R6sT
Thursday, 28 November 13
Data to Ink Ratio: Classes

Thursday, 28 November 13
Data to Ink Ratio: Classes

Thursday, 28 November 13
Data to Ink Ratio: Classes

Thursday, 28 November 13
Data to Ink Ratio: Classes

Thursday, 28 November 13
Data to Ink Ratio: Legend Classes

Thursday, 28 November 13
Use only the classes you need
to create the design you want

Thursday, 28 November 13
Having the data is not enough.
I have to show it in ways
people both enjoy and understand.
Hans Rosling

Thursday, 28 November 13
Enjoy

Thursday, 28 November 13
A state of joy, creativity and total involvement,
in which problems seem to disappear
and there is an exhilarating feeling
of transcendence
Mihaly Csikszentmihalyi

Thursday, 28 November 13
This is not enjoyment
this is not 鍖ow
Thursday, 28 November 13
To maintain 鍖ow
Be Defensive
Thursday, 28 November 13
Defensive: Check for errors

Thursday, 28 November 13
Defensive: Quarantine

Thursday, 28 November 13
Defensive: Give Feedback

Thursday, 28 November 13
Being Forgiving
Thursday, 28 November 13
Understand

Thursday, 28 November 13
Numbers or Patterns?
Thursday, 28 November 13
19th Nov 2003
Physical Memory Used: 200

Both?
Thursday, 28 November 13
Comparisons?
Thursday, 28 November 13
Custom Formatted Tooltips

Thursday, 28 November 13
Tooltip Events

Thursday, 28 November 13
Synchronized Tooltips

Thursday, 28 November 13
Synchronized Tooltips

Thursday, 28 November 13
Youve got a good piece of software
when people use it for purposes
it was never intended for.
Clay Shirky

Thursday, 28 November 13
We Never Expected
Thursday, 28 November 13
Multiple Axis
bit.ly/17lKqn5

Thursday, 28 November 13
Multiple Axis
bit.ly/17lKqn5

Thursday, 28 November 13
Generating a scale

Thursday, 28 November 13
Generating multiple scales

Thursday, 28 November 13
Using the scales

Thursday, 28 November 13
Scaling the axis

Thursday, 28 November 13
xkcd.com/231/
Thursday, 28 November 13
3.Metrics

Thursday, 28 November 13
How do we request graph data
for metrics ... ?

Thursday, 28 November 13
Metrics can be
simple, complex or dynamic
Thursday, 28 November 13
Metrics can be combined
Thursday, 28 November 13
How do we request graph data for
multiple metrics at once
that can nest many levels deep
and are dynamic?

Thursday, 28 November 13
Structured as JSON

Thursday, 28 November 13
JSON in a URL

Thursday, 28 November 13
The graph data

Thursday, 28 November 13
xkcd.com/518/
Thursday, 28 November 13
4.Backbone

Thursday, 28 November 13
Thursday, 28 November 13
tabs

graphs

Thursday, 28 November 13

alerting

plugins
Thursday, 28 November 13
graphs

date

Thursday, 28 November 13

graph

graph
Thursday, 28 November 13
graph

options

Thursday, 28 November 13

series

legend

axis
Thursday, 28 November 13
tabs view

graphs view

graph views
options view

dropdown views

Thursday, 28 November 13
Zombies: Cool for fancy dress
Events
and not cool for code
the mediator pattern

Thursday, 28 November 13
Using mediator events

Thursday, 28 November 13
Using Collection Events

Thursday, 28 November 13
Zombies: Cool for fancy dress
not cool for code

Thursday, 28 November 13
Managing Views

Thursday, 28 November 13
Be Defensive
Thursday, 28 November 13
Dealing with time (badly)

Thursday, 28 November 13
Dealing with time (badly)

Thursday, 28 November 13
Dealing with time (badly)

Thursday, 28 November 13
Dealing with time (badly)

Thursday, 28 November 13
Thursday, 28 November 13
Dealing with time

Thursday, 28 November 13
xkcd.com/290/
Thursday, 28 November 13
www.serverdensity.com/
bit.ly/1erNJNz

@byrichardpowell

Thursday, 28 November 13

More Related Content

More from Richard Powell (9)

Designing user on-boarding
Designing user on-boardingDesigning user on-boarding
Designing user on-boarding
Richard Powell
Data Visualisation with D3 & Rickshaw - Berlin Expert Days
Data Visualisation with D3 & Rickshaw - Berlin Expert DaysData Visualisation with D3 & Rickshaw - Berlin Expert Days
Data Visualisation with D3 & Rickshaw - Berlin Expert Days
Richard Powell
Time-Series Monitoring Graphs with D3 & Rickshaw
Time-Series Monitoring Graphs with D3 & RickshawTime-Series Monitoring Graphs with D3 & Rickshaw
Time-Series Monitoring Graphs with D3 & Rickshaw
Richard Powell
Angular js, Yeomon & Grunt
Angular js, Yeomon & GruntAngular js, Yeomon & Grunt
Angular js, Yeomon & Grunt
Richard Powell
Real-time collaborative drawing
Real-time collaborative drawingReal-time collaborative drawing
Real-time collaborative drawing
Richard Powell
Front end-performance
Front end-performanceFront end-performance
Front end-performance
Richard Powell
Angular.js, Yeomon & Grunt
Angular.js, Yeomon & GruntAngular.js, Yeomon & Grunt
Angular.js, Yeomon & Grunt
Richard Powell
Draw stuff at @jsnortheast
Draw stuff at @jsnortheastDraw stuff at @jsnortheast
Draw stuff at @jsnortheast
Richard Powell
HTML5 Canvas @SuperMondays, Newcastle
HTML5 Canvas @SuperMondays, NewcastleHTML5 Canvas @SuperMondays, Newcastle
HTML5 Canvas @SuperMondays, Newcastle
Richard Powell
Designing user on-boarding
Designing user on-boardingDesigning user on-boarding
Designing user on-boarding
Richard Powell
Data Visualisation with D3 & Rickshaw - Berlin Expert Days
Data Visualisation with D3 & Rickshaw - Berlin Expert DaysData Visualisation with D3 & Rickshaw - Berlin Expert Days
Data Visualisation with D3 & Rickshaw - Berlin Expert Days
Richard Powell
Time-Series Monitoring Graphs with D3 & Rickshaw
Time-Series Monitoring Graphs with D3 & RickshawTime-Series Monitoring Graphs with D3 & Rickshaw
Time-Series Monitoring Graphs with D3 & Rickshaw
Richard Powell
Angular js, Yeomon & Grunt
Angular js, Yeomon & GruntAngular js, Yeomon & Grunt
Angular js, Yeomon & Grunt
Richard Powell
Real-time collaborative drawing
Real-time collaborative drawingReal-time collaborative drawing
Real-time collaborative drawing
Richard Powell
Front end-performance
Front end-performanceFront end-performance
Front end-performance
Richard Powell
Angular.js, Yeomon & Grunt
Angular.js, Yeomon & GruntAngular.js, Yeomon & Grunt
Angular.js, Yeomon & Grunt
Richard Powell
Draw stuff at @jsnortheast
Draw stuff at @jsnortheastDraw stuff at @jsnortheast
Draw stuff at @jsnortheast
Richard Powell
HTML5 Canvas @SuperMondays, Newcastle
HTML5 Canvas @SuperMondays, NewcastleHTML5 Canvas @SuperMondays, Newcastle
HTML5 Canvas @SuperMondays, Newcastle
Richard Powell

Recently uploaded (20)

Fl studio crack version 12.9 Free Download
Fl studio crack version 12.9 Free DownloadFl studio crack version 12.9 Free Download
Fl studio crack version 12.9 Free Download
kherorpacca127
Cloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in AviationCloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in Aviation
Assem mousa
EaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial KeyEaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial Key
kherorpacca127
Unlock AI Creativity: Image Generation with DALL揃E
Unlock AI Creativity: Image Generation with DALL揃EUnlock AI Creativity: Image Generation with DALL揃E
Unlock AI Creativity: Image Generation with DALL揃E
Expeed Software
DevNexus - Building 10x Development Organizations.pdf
DevNexus - Building 10x Development Organizations.pdfDevNexus - Building 10x Development Organizations.pdf
DevNexus - Building 10x Development Organizations.pdf
Justin Reock
UiPath Agentic Automation Capabilities and Opportunities
UiPath Agentic Automation Capabilities and OpportunitiesUiPath Agentic Automation Capabilities and Opportunities
UiPath Agentic Automation Capabilities and Opportunities
DianaGray10
What Makes "Deep Research"? A Dive into AI Agents
What Makes "Deep Research"? A Dive into AI AgentsWhat Makes "Deep Research"? A Dive into AI Agents
What Makes "Deep Research"? A Dive into AI Agents
Zilliz
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog GavraReplacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
ScyllaDB
A Framework for Model-Driven Digital Twin Engineering
A Framework for Model-Driven Digital Twin EngineeringA Framework for Model-Driven Digital Twin Engineering
A Framework for Model-Driven Digital Twin Engineering
Daniel Lehner
The Future of Repair: Transparent and Incremental by Botond Denes
The Future of Repair: Transparent and Incremental by Botond DenesThe Future of Repair: Transparent and Incremental by Botond Denes
The Future of Repair: Transparent and Incremental by Botond Denes
ScyllaDB
BoxLang JVM Language : The Future is Dynamic
BoxLang JVM Language : The Future is DynamicBoxLang JVM Language : The Future is Dynamic
BoxLang JVM Language : The Future is Dynamic
Ortus Solutions, Corp
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
ScyllaDB
FinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptxFinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptx
Tracxn
UiPath Document Understanding - Generative AI and Active learning capabilities
UiPath Document Understanding - Generative AI and Active learning capabilitiesUiPath Document Understanding - Generative AI and Active learning capabilities
UiPath Document Understanding - Generative AI and Active learning capabilities
DianaGray10
Technology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptxTechnology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptx
kaylagaze
Early Adopter's Guide to AI Moderation (Preview)
Early Adopter's Guide to AI Moderation (Preview)Early Adopter's Guide to AI Moderation (Preview)
Early Adopter's Guide to AI Moderation (Preview)
nick896721
SMART SENTRY CYBER THREAT INTELLIGENCE IN IIOT
SMART SENTRY CYBER THREAT INTELLIGENCE IN IIOTSMART SENTRY CYBER THREAT INTELLIGENCE IN IIOT
SMART SENTRY CYBER THREAT INTELLIGENCE IN IIOT
TanmaiArni
Future-Proof Your Career with AI Options
Future-Proof Your  Career with AI OptionsFuture-Proof Your  Career with AI Options
Future-Proof Your Career with AI Options
DianaGray10
Build with AI on Google Cloud Session #4
Build with AI on Google Cloud Session #4Build with AI on Google Cloud Session #4
Build with AI on Google Cloud Session #4
Margaret Maynard-Reid
L01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardnessL01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardness
RostislavDaniel
Fl studio crack version 12.9 Free Download
Fl studio crack version 12.9 Free DownloadFl studio crack version 12.9 Free Download
Fl studio crack version 12.9 Free Download
kherorpacca127
Cloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in AviationCloud of everything Tech of the 21 century in Aviation
Cloud of everything Tech of the 21 century in Aviation
Assem mousa
EaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial KeyEaseUS Partition Master Crack 2025 + Serial Key
EaseUS Partition Master Crack 2025 + Serial Key
kherorpacca127
Unlock AI Creativity: Image Generation with DALL揃E
Unlock AI Creativity: Image Generation with DALL揃EUnlock AI Creativity: Image Generation with DALL揃E
Unlock AI Creativity: Image Generation with DALL揃E
Expeed Software
DevNexus - Building 10x Development Organizations.pdf
DevNexus - Building 10x Development Organizations.pdfDevNexus - Building 10x Development Organizations.pdf
DevNexus - Building 10x Development Organizations.pdf
Justin Reock
UiPath Agentic Automation Capabilities and Opportunities
UiPath Agentic Automation Capabilities and OpportunitiesUiPath Agentic Automation Capabilities and Opportunities
UiPath Agentic Automation Capabilities and Opportunities
DianaGray10
What Makes "Deep Research"? A Dive into AI Agents
What Makes "Deep Research"? A Dive into AI AgentsWhat Makes "Deep Research"? A Dive into AI Agents
What Makes "Deep Research"? A Dive into AI Agents
Zilliz
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog GavraReplacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
Replacing RocksDB with ScyllaDB in Kafka Streams by Almog Gavra
ScyllaDB
A Framework for Model-Driven Digital Twin Engineering
A Framework for Model-Driven Digital Twin EngineeringA Framework for Model-Driven Digital Twin Engineering
A Framework for Model-Driven Digital Twin Engineering
Daniel Lehner
The Future of Repair: Transparent and Incremental by Botond Denes
The Future of Repair: Transparent and Incremental by Botond DenesThe Future of Repair: Transparent and Incremental by Botond Denes
The Future of Repair: Transparent and Incremental by Botond Denes
ScyllaDB
BoxLang JVM Language : The Future is Dynamic
BoxLang JVM Language : The Future is DynamicBoxLang JVM Language : The Future is Dynamic
BoxLang JVM Language : The Future is Dynamic
Ortus Solutions, Corp
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...
ScyllaDB
FinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptxFinTech - US Annual Funding Report - 2024.pptx
FinTech - US Annual Funding Report - 2024.pptx
Tracxn
UiPath Document Understanding - Generative AI and Active learning capabilities
UiPath Document Understanding - Generative AI and Active learning capabilitiesUiPath Document Understanding - Generative AI and Active learning capabilities
UiPath Document Understanding - Generative AI and Active learning capabilities
DianaGray10
Technology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptxTechnology use over time and its impact on consumers and businesses.pptx
Technology use over time and its impact on consumers and businesses.pptx
kaylagaze
Early Adopter's Guide to AI Moderation (Preview)
Early Adopter's Guide to AI Moderation (Preview)Early Adopter's Guide to AI Moderation (Preview)
Early Adopter's Guide to AI Moderation (Preview)
nick896721
SMART SENTRY CYBER THREAT INTELLIGENCE IN IIOT
SMART SENTRY CYBER THREAT INTELLIGENCE IN IIOTSMART SENTRY CYBER THREAT INTELLIGENCE IN IIOT
SMART SENTRY CYBER THREAT INTELLIGENCE IN IIOT
TanmaiArni
Future-Proof Your Career with AI Options
Future-Proof Your  Career with AI OptionsFuture-Proof Your  Career with AI Options
Future-Proof Your Career with AI Options
DianaGray10
Build with AI on Google Cloud Session #4
Build with AI on Google Cloud Session #4Build with AI on Google Cloud Session #4
Build with AI on Google Cloud Session #4
Margaret Maynard-Reid
L01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardnessL01 Introduction to Nanoindentation - What is hardness
L01 Introduction to Nanoindentation - What is hardness
RostislavDaniel

D3 Rickshaw and Backbone in 50 minutes