SlideShare a Scribd company logo
Advanced Analytics:
Using R & Python
revealbi.io
Your Hosts
Today
revealbi.io
Jason Beres
Senior VP, Developer Tools
jasonb@Infragistics.com
Casey McGuigan
Product Manager, Reveal
cmcguigan@Infragistics.com
Today’s Agenda
• Advanced Scripting in Reveal
• Pre-Requisites for R & Python
• Visualization Customizations
• Live Demo
• Wrap Up
House Keeping
• Recording and slides will be available after the webinar. We’ll send a follow-up email
• Please ask questions in the Questions Window
Summer of BI Series …
• June 10th: Dashboard Best Practices, Do’s and Don’ts
• June 24th: Building a Data Driven Org
• July 8th: Advanced Analytics: Using R & Python
• July 22nd: Advanced Analytics: Machine Learning with Reveal
• Aug 5th: Embedded Analytics: 5 Steps to App Modernization
https://www.infragistics.com/webinars
Advanced Scripting in Reveal
revealbi.io
Using R & Python in Custom Visualizations
• Using Reveal, you are not limited to “what’s in the box”
in terms of chart types and visualizations
• We’ve enabled widely used scripting / programming
languages like R and Python which are common
amongst data scientists
• You and your power-user co-workers are only limited by
your imagination (and what custom libraries will offer) in
terms of data visualizations
• Both R & Python can do more than data visualizations –
you can perform any action on your available data
Common Scenarios for R & Python Visualizations
1. There is a visualization you require that we do not
ship in Reveal
2. You require advanced scripting or data preparation
tasks to be applied to the data you are working with
3. You are a citizen data scientist or developer and you
have created visualizations that you want to re-use
4. You are using a different visualization product and
want to create mashups with existing Reveal
dashboards
Reveal Data
Visualizations
40 Data Visualizations
in 7 Categories
Compare Data
Part to Whole
Data Distribution
Data Trend Analysis
Data Relationships
KPI’s and Gauges
Geospatial Data
Custom
Visualizations
Endless options … consider
that Python’s most popular
library is Matplotlib, and it
has many extensions …
• Biggle, Chac, DISLIN,
GNU, Octave, Gnuplot-
py, Plplot, PyCha,
PyPlotter, SageMath,
SciPy, wxPython, Plotly,
Bokeh …. and more!
Getting Started
revealbi.io
System Requirements
• Advanced Scripting is supported in the following
platforms:
• WPF Desktop Client
• WPF Desktop SDK
• Python 2.7 or higher (3.8 or higher preferred)
• R 3.x or higher (4.0 or higher preferred)
Installation - Python
• https://www.python.org/downloads/windows/
Installation - R
• https://cran.r-project.org/bin/windows/base/
Installing Libraries
• Use command line or GUI to install packages to support your custom visualizations
Py R
Today’s Demos Are Using …
• Python • R
Py R
Creating Python Visualizations
revealbi.io
Matplotlib
• The most popular open
source graphics library for
Python
• Thousands of examples
online to inspire you to
extend what is possible with
Reveal
• Explore the gallery at
https://matplotlib.org/3.1.0/g
allery/index.html
Customizing Your Visualizations
• Full Color Table • Custom Line Types
Step-by-Step
revealbi.io
Creating a Custom Visualization
• Connect to your data
source as if you were
using a built in Reveal
Chart and drag / drop
the fields you require for
your visualization
Creating a Custom Visualization
• Select Python from the
Change Visualization
dropdown
Setting Up Your Script
• Switch the Settings Tab,
click the Edit Script
button
• Note the Libraries and
Fields that are available
by default
• Your data is referenced
in the data object
Setting Up Your Script
• Switch the Settings Tab,
click the Edit Script
button
• Note the Libraries and
Fields that are available
by default
• Your data is referenced
in the data object
Watch the Magic Happen!
• By default, Python with
Matplotlib renders as an
Image in the Reveal
Visualization canvas
Clean Up the Visualization
• Apply a Data Filter
• All Settings, Filters, etc in
Reveal work across any
custom visualization
Examples
revealbi.io
Area Chart
ax = plt.gca()
data.plot(kind='area',x='Date',y='Sum of Spend',ax=ax)
data.plot(kind='area',x='Date',y='Sum of Budget', color='green', ax=ax)
Word Cloud Chart
library("tm")
library("SnowballC")
library("wordcloud")
library("RColorBrewer")
library(stringi)
docs <- Corpus(VectorSource(dataset$text))
…
dtm <- TermDocumentMatrix(docs)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
set.seed(1234)
wordcloud(words = d$word, freq = d$freq, min.freq = 1,
max.words=150, random.order=FALSE, rot.per=0.35,
colors=brewer.pal(8, "Dark2"))
Heatmap Chart
from plotly import data
campaignid = np.unique(np.array(data['CampaignID']))
territory = np.unique(np.array(data['Territory']))
spend = np.array(data['Sum of Spend']).reshape((7, 5))
fig, ax = plt.subplots(figsize=(5.5, 6.5))
im = ax.imshow(spend)
# Show all ticks...
ax.set_xticks(np.arange(len(territory)))
ax.set_yticks(np.arange(len(campaignid)))
# ... and label them with the respective list entries
ax.set_xticklabels(territory)
ax.set_yticklabels(campaignid)
# Loop over data dimensions and create text annotations.
for i in range(len(campaignid)):
for j in range(len(territory)):
text = ax.text(j, i, spend[i, j],
ha="center", va="center", color="w")
ax.set_title("Campaign Spend (dollars)")
fig.tight_layout()
Demo
revealbi.io
Wrap Up
revealbi.io
Reveal – Simple and Beautiful Visualizations
• Using Reveal, you are not limited to “what’s in the box”
in terms of chart types and visualizations
• Don’t limit the experience you can deliver to your
customer
• Use R & Python to super-charge your dashboards with
custom visualizations
• Learn R:
https://www.tutorialspoint.com/r/r_boxplots.htm
• Learn Python:
https://matplotlib.org/devdocs/gallery/index.html
Use Reveal to Enable Advanced Scripting
and Custom Data Visualizations
Try Today at revealbi.io
Contact Us for a Personalized Demo! sales@infragistics.com
Email Us with Questions!
Jason Beres
Senior VP, Developer Tools
jasonb@Infragistics.com
Casey McGuigan
Product Manager, Reveal
cmcguigan@Infragistics.com
revealbi.io
Thank You!
revealbi.io

More Related Content

Similar to Reveal's Advanced Analytics: Using R & Python

Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
Oracle Developers
 
Building Data Pipelines in Python
Building Data Pipelines in PythonBuilding Data Pipelines in Python
Building Data Pipelines in Python
C4Media
 
Anaconda and PyData Solutions
Anaconda and PyData SolutionsAnaconda and PyData Solutions
Anaconda and PyData Solutions
Travis Oliphant
 
Bluegranite AA Webinar FINAL 28JUN16
Bluegranite AA Webinar FINAL 28JUN16Bluegranite AA Webinar FINAL 28JUN16
Bluegranite AA Webinar FINAL 28JUN16Andy Lathrop
 
E Afgan - Zero to a bioinformatics analysis platform in four minutes
E Afgan - Zero to a bioinformatics analysis platform in four minutesE Afgan - Zero to a bioinformatics analysis platform in four minutes
E Afgan - Zero to a bioinformatics analysis platform in four minutes
Jan Aerts
 
The Polyglot Data Scientist - Exploring R, Python, and SQL Server
The Polyglot Data Scientist - Exploring R, Python, and SQL ServerThe Polyglot Data Scientist - Exploring R, Python, and SQL Server
The Polyglot Data Scientist - Exploring R, Python, and SQL Server
Sarah Dutkiewicz
 
Machine Learning Models in Production
Machine Learning Models in ProductionMachine Learning Models in Production
Machine Learning Models in Production
DataWorks Summit
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
Jeff Bramwell
 
Untangling - fall2017 - week 9
Untangling - fall2017 - week 9Untangling - fall2017 - week 9
Untangling - fall2017 - week 9
Derek Jacoby
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and Python
Travis Oliphant
 
Intro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWSIntro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWS
Sri Ambati
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
Jeff Bramwell
 
Python - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguagePython - A Comprehensive Programming Language
Python - A Comprehensive Programming Language
TsungWei Hu
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on RailsAvi Kedar
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
Jeff Bramwell
 
PCM18 (Big Data Analytics)
PCM18 (Big Data Analytics)PCM18 (Big Data Analytics)
PCM18 (Big Data Analytics)
Stratebi
 
Autonomous Machines with Project Bonsai
Autonomous Machines with Project BonsaiAutonomous Machines with Project Bonsai
Autonomous Machines with Project Bonsai
Ivo Andreev
 
DataMass Summit - Machine Learning for Big Data in SQL Server
DataMass Summit - Machine Learning for Big Data  in SQL ServerDataMass Summit - Machine Learning for Big Data  in SQL Server
DataMass Summit - Machine Learning for Big Data in SQL Server
Łukasz Grala
 
A Hands-on Intro to Data Science and R Presentation.ppt
A Hands-on Intro to Data Science and R Presentation.pptA Hands-on Intro to Data Science and R Presentation.ppt
A Hands-on Intro to Data Science and R Presentation.ppt
Sanket Shikhar
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
Marco Parenzan
 

Similar to Reveal's Advanced Analytics: Using R & Python (20)

Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Building Data Pipelines in Python
Building Data Pipelines in PythonBuilding Data Pipelines in Python
Building Data Pipelines in Python
 
Anaconda and PyData Solutions
Anaconda and PyData SolutionsAnaconda and PyData Solutions
Anaconda and PyData Solutions
 
Bluegranite AA Webinar FINAL 28JUN16
Bluegranite AA Webinar FINAL 28JUN16Bluegranite AA Webinar FINAL 28JUN16
Bluegranite AA Webinar FINAL 28JUN16
 
E Afgan - Zero to a bioinformatics analysis platform in four minutes
E Afgan - Zero to a bioinformatics analysis platform in four minutesE Afgan - Zero to a bioinformatics analysis platform in four minutes
E Afgan - Zero to a bioinformatics analysis platform in four minutes
 
The Polyglot Data Scientist - Exploring R, Python, and SQL Server
The Polyglot Data Scientist - Exploring R, Python, and SQL ServerThe Polyglot Data Scientist - Exploring R, Python, and SQL Server
The Polyglot Data Scientist - Exploring R, Python, and SQL Server
 
Machine Learning Models in Production
Machine Learning Models in ProductionMachine Learning Models in Production
Machine Learning Models in Production
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Untangling - fall2017 - week 9
Untangling - fall2017 - week 9Untangling - fall2017 - week 9
Untangling - fall2017 - week 9
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and Python
 
Intro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWSIntro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWS
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Python - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguagePython - A Comprehensive Programming Language
Python - A Comprehensive Programming Language
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on Rails
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
PCM18 (Big Data Analytics)
PCM18 (Big Data Analytics)PCM18 (Big Data Analytics)
PCM18 (Big Data Analytics)
 
Autonomous Machines with Project Bonsai
Autonomous Machines with Project BonsaiAutonomous Machines with Project Bonsai
Autonomous Machines with Project Bonsai
 
DataMass Summit - Machine Learning for Big Data in SQL Server
DataMass Summit - Machine Learning for Big Data  in SQL ServerDataMass Summit - Machine Learning for Big Data  in SQL Server
DataMass Summit - Machine Learning for Big Data in SQL Server
 
A Hands-on Intro to Data Science and R Presentation.ppt
A Hands-on Intro to Data Science and R Presentation.pptA Hands-on Intro to Data Science and R Presentation.ppt
A Hands-on Intro to Data Science and R Presentation.ppt
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
 

More from Poojitha B

App Builder - Hierarchical Data Apps.pptx
App Builder - Hierarchical Data Apps.pptxApp Builder - Hierarchical Data Apps.pptx
App Builder - Hierarchical Data Apps.pptx
Poojitha B
 
App Builder™ - Design To Code Webinar
App Builder™ - Design To Code WebinarApp Builder™ - Design To Code Webinar
App Builder™ - Design To Code Webinar
Poojitha B
 
Infragistics - Ultimate 21.2 - Launch Deck
Infragistics - Ultimate 21.2 - Launch DeckInfragistics - Ultimate 21.2 - Launch Deck
Infragistics - Ultimate 21.2 - Launch Deck
Poojitha B
 
The Ultimate Guide To Embedded Analytics
The Ultimate Guide To Embedded Analytics The Ultimate Guide To Embedded Analytics
The Ultimate Guide To Embedded Analytics
Poojitha B
 
White Labeling Your Data Analytics
White Labeling Your Data AnalyticsWhite Labeling Your Data Analytics
White Labeling Your Data Analytics
Poojitha B
 
Embedded Analytics: 5 Steps to App Modernization
Embedded Analytics: 5 Steps to App ModernizationEmbedded Analytics: 5 Steps to App Modernization
Embedded Analytics: 5 Steps to App Modernization
Poojitha B
 
Ignite UI For Blazor Launch Webinar Oct 2020
Ignite UI For Blazor Launch Webinar Oct 2020Ignite UI For Blazor Launch Webinar Oct 2020
Ignite UI For Blazor Launch Webinar Oct 2020
Poojitha B
 
Win More Customers With Embedded Analytics
Win More Customers With Embedded AnalyticsWin More Customers With Embedded Analytics
Win More Customers With Embedded Analytics
Poojitha B
 
Remote Usability - Indigo.Design
Remote Usability - Indigo.Design Remote Usability - Indigo.Design
Remote Usability - Indigo.Design
Poojitha B
 
Creating a data driven culture
Creating a data driven cultureCreating a data driven culture
Creating a data driven culture
Poojitha B
 

More from Poojitha B (10)

App Builder - Hierarchical Data Apps.pptx
App Builder - Hierarchical Data Apps.pptxApp Builder - Hierarchical Data Apps.pptx
App Builder - Hierarchical Data Apps.pptx
 
App Builder™ - Design To Code Webinar
App Builder™ - Design To Code WebinarApp Builder™ - Design To Code Webinar
App Builder™ - Design To Code Webinar
 
Infragistics - Ultimate 21.2 - Launch Deck
Infragistics - Ultimate 21.2 - Launch DeckInfragistics - Ultimate 21.2 - Launch Deck
Infragistics - Ultimate 21.2 - Launch Deck
 
The Ultimate Guide To Embedded Analytics
The Ultimate Guide To Embedded Analytics The Ultimate Guide To Embedded Analytics
The Ultimate Guide To Embedded Analytics
 
White Labeling Your Data Analytics
White Labeling Your Data AnalyticsWhite Labeling Your Data Analytics
White Labeling Your Data Analytics
 
Embedded Analytics: 5 Steps to App Modernization
Embedded Analytics: 5 Steps to App ModernizationEmbedded Analytics: 5 Steps to App Modernization
Embedded Analytics: 5 Steps to App Modernization
 
Ignite UI For Blazor Launch Webinar Oct 2020
Ignite UI For Blazor Launch Webinar Oct 2020Ignite UI For Blazor Launch Webinar Oct 2020
Ignite UI For Blazor Launch Webinar Oct 2020
 
Win More Customers With Embedded Analytics
Win More Customers With Embedded AnalyticsWin More Customers With Embedded Analytics
Win More Customers With Embedded Analytics
 
Remote Usability - Indigo.Design
Remote Usability - Indigo.Design Remote Usability - Indigo.Design
Remote Usability - Indigo.Design
 
Creating a data driven culture
Creating a data driven cultureCreating a data driven culture
Creating a data driven culture
 

Recently uploaded

Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 

Recently uploaded (20)

Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 

Reveal's Advanced Analytics: Using R & Python

  • 1. Advanced Analytics: Using R & Python revealbi.io
  • 2. Your Hosts Today revealbi.io Jason Beres Senior VP, Developer Tools jasonb@Infragistics.com Casey McGuigan Product Manager, Reveal cmcguigan@Infragistics.com
  • 3. Today’s Agenda • Advanced Scripting in Reveal • Pre-Requisites for R & Python • Visualization Customizations • Live Demo • Wrap Up House Keeping • Recording and slides will be available after the webinar. We’ll send a follow-up email • Please ask questions in the Questions Window
  • 4. Summer of BI Series … • June 10th: Dashboard Best Practices, Do’s and Don’ts • June 24th: Building a Data Driven Org • July 8th: Advanced Analytics: Using R & Python • July 22nd: Advanced Analytics: Machine Learning with Reveal • Aug 5th: Embedded Analytics: 5 Steps to App Modernization https://www.infragistics.com/webinars
  • 5. Advanced Scripting in Reveal revealbi.io
  • 6. Using R & Python in Custom Visualizations • Using Reveal, you are not limited to “what’s in the box” in terms of chart types and visualizations • We’ve enabled widely used scripting / programming languages like R and Python which are common amongst data scientists • You and your power-user co-workers are only limited by your imagination (and what custom libraries will offer) in terms of data visualizations • Both R & Python can do more than data visualizations – you can perform any action on your available data
  • 7. Common Scenarios for R & Python Visualizations 1. There is a visualization you require that we do not ship in Reveal 2. You require advanced scripting or data preparation tasks to be applied to the data you are working with 3. You are a citizen data scientist or developer and you have created visualizations that you want to re-use 4. You are using a different visualization product and want to create mashups with existing Reveal dashboards
  • 8. Reveal Data Visualizations 40 Data Visualizations in 7 Categories Compare Data Part to Whole Data Distribution Data Trend Analysis Data Relationships KPI’s and Gauges Geospatial Data
  • 9. Custom Visualizations Endless options … consider that Python’s most popular library is Matplotlib, and it has many extensions … • Biggle, Chac, DISLIN, GNU, Octave, Gnuplot- py, Plplot, PyCha, PyPlotter, SageMath, SciPy, wxPython, Plotly, Bokeh …. and more!
  • 11. System Requirements • Advanced Scripting is supported in the following platforms: • WPF Desktop Client • WPF Desktop SDK • Python 2.7 or higher (3.8 or higher preferred) • R 3.x or higher (4.0 or higher preferred)
  • 12. Installation - Python • https://www.python.org/downloads/windows/
  • 13. Installation - R • https://cran.r-project.org/bin/windows/base/
  • 14. Installing Libraries • Use command line or GUI to install packages to support your custom visualizations Py R
  • 15. Today’s Demos Are Using … • Python • R Py R
  • 17. Matplotlib • The most popular open source graphics library for Python • Thousands of examples online to inspire you to extend what is possible with Reveal • Explore the gallery at https://matplotlib.org/3.1.0/g allery/index.html
  • 18. Customizing Your Visualizations • Full Color Table • Custom Line Types
  • 20. Creating a Custom Visualization • Connect to your data source as if you were using a built in Reveal Chart and drag / drop the fields you require for your visualization
  • 21. Creating a Custom Visualization • Select Python from the Change Visualization dropdown
  • 22. Setting Up Your Script • Switch the Settings Tab, click the Edit Script button • Note the Libraries and Fields that are available by default • Your data is referenced in the data object
  • 23. Setting Up Your Script • Switch the Settings Tab, click the Edit Script button • Note the Libraries and Fields that are available by default • Your data is referenced in the data object
  • 24. Watch the Magic Happen! • By default, Python with Matplotlib renders as an Image in the Reveal Visualization canvas
  • 25. Clean Up the Visualization • Apply a Data Filter • All Settings, Filters, etc in Reveal work across any custom visualization
  • 27. Area Chart ax = plt.gca() data.plot(kind='area',x='Date',y='Sum of Spend',ax=ax) data.plot(kind='area',x='Date',y='Sum of Budget', color='green', ax=ax)
  • 28. Word Cloud Chart library("tm") library("SnowballC") library("wordcloud") library("RColorBrewer") library(stringi) docs <- Corpus(VectorSource(dataset$text)) … dtm <- TermDocumentMatrix(docs) m <- as.matrix(dtm) v <- sort(rowSums(m),decreasing=TRUE) d <- data.frame(word = names(v),freq=v) set.seed(1234) wordcloud(words = d$word, freq = d$freq, min.freq = 1, max.words=150, random.order=FALSE, rot.per=0.35, colors=brewer.pal(8, "Dark2"))
  • 29. Heatmap Chart from plotly import data campaignid = np.unique(np.array(data['CampaignID'])) territory = np.unique(np.array(data['Territory'])) spend = np.array(data['Sum of Spend']).reshape((7, 5)) fig, ax = plt.subplots(figsize=(5.5, 6.5)) im = ax.imshow(spend) # Show all ticks... ax.set_xticks(np.arange(len(territory))) ax.set_yticks(np.arange(len(campaignid))) # ... and label them with the respective list entries ax.set_xticklabels(territory) ax.set_yticklabels(campaignid) # Loop over data dimensions and create text annotations. for i in range(len(campaignid)): for j in range(len(territory)): text = ax.text(j, i, spend[i, j], ha="center", va="center", color="w") ax.set_title("Campaign Spend (dollars)") fig.tight_layout()
  • 32. Reveal – Simple and Beautiful Visualizations • Using Reveal, you are not limited to “what’s in the box” in terms of chart types and visualizations • Don’t limit the experience you can deliver to your customer • Use R & Python to super-charge your dashboards with custom visualizations • Learn R: https://www.tutorialspoint.com/r/r_boxplots.htm • Learn Python: https://matplotlib.org/devdocs/gallery/index.html
  • 33. Use Reveal to Enable Advanced Scripting and Custom Data Visualizations Try Today at revealbi.io Contact Us for a Personalized Demo! sales@infragistics.com
  • 34. Email Us with Questions! Jason Beres Senior VP, Developer Tools jasonb@Infragistics.com Casey McGuigan Product Manager, Reveal cmcguigan@Infragistics.com revealbi.io

Editor's Notes

  1. https://www.codespeedy.com/how-to-change-line-color-in-matplotlib/ https://matplotlib.org/3.1.0/gallery/color/named_colors.html Color Demo - https://matplotlib.org/3.1.0/gallery/color/color_demo.html https://matplotlib.org/3.1.0/gallery/lines_bars_and_markers/linestyles.html#sphx-glr-gallery-lines-bars-and-markers-linestyles-py an RGB or RGBA (red, green, blue, alpha) tuple of float values in [0, 1] (e.g., (0.1, 0.2, 0.5) or (0.1, 0.2, 0.5, 0.3)); a hex RGB or RGBA string (e.g., '#0f0f0f' or '#0f0f0f80'; case-insensitive); a string representation of a float value in [0, 1] inclusive for gray level (e.g., '0.5'); one of {'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'}; a X11/CSS4 color name (case-insensitive); a name from the xkcd color survey, prefixed with 'xkcd:' (e.g., 'xkcd:sky blue'; case insensitive); one of the Tableau Colors from the 'T10' categorical palette (the default color cycle): {'tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan'} (case-insensitive); a "CN" color spec, i.e. 'C' followed by a number, which is an index into the default property cycle (matplotlib.rcParams['axes.prop_cycle']); the indexing is intended to occur at rendering time, and defaults to black if the cycle does not include color.