Library name | Language | Open-source? Does it cost money? | Requires internet connection? | Real-time support for data entry? | Strengths | Limitations | Connection details (requirements, cloud-based, etc.) | Extra info |
---|
Streamlit (https://streamlit.io/) | Python | | | Yes…? (https://blog.streamlit.io/how-to-build-a-real-time-live-dashboard-with-streamlit/ ) | Beginner-friendly Simple API with excellent documentation Can mix visualizations into one presentation Can re-use Python code instead of rewriting it
| | Uses a localhost for local development Streamlit Cloud allows you to run applications in the cloud, share with colleagues https://streamlit.io/security
| You can display images, audio, and videos with Streamlit (Python Tutorial: Streamlit | DataCamp) You can input widgets Display progress and status bars Can show data visualization and maps Can make machine learning applications
|
Dash by Plotly (Dash Documentation & User Guide | Plotly) | Python | Open source, MIT licensed Free Dash Enterprise (ie. deployment server) has an associated cost → have to fill out some form on the website to learn more about pricing
| | Yes (Live Updates | Dash for Python Documentation | Plotly) | Pure Python → No Javascript unless you want to include Javascript assets Jupyter and Django integrations Cross-filtering/interacting with Plotly charts Aesthetics are more flexible, compatible with Bootstrap Has “callback” functions Robust modules library
| Difficulty with interactivity Difficulty to customize API No HTML → Must use Markdown function Cannot have two Python callbacks update the same element Limited colour options Plots that are shared are visible to everyone Takes time to load, a little slow
| | |
Seaborn (https://seaborn.pydata.org/index.html ) | Python | | | | Can install other libraries while using Seaborn since Seaborn is based on matplotlib Generates engaging plot to represent our data Feed our data using replot() method, library computes the values and places them without us worrying it Default themes are aesthetically pleasing Visualizes information in matrices and DataFrames
| Estimators are not suited for small datasets Calculating and plotting confidence intervals uses bootstraps Small datasets have inaccurate intervals since bootstraps are suited for large datasets Have to calculate the intervals ourselves
May need to reformat data (ie. Three common seaborn difficulties | by Michael Waskom | Medium) since Seaborn does not plot datasets normally Two different plot functions and difficulty plotting data other than categorical
| | Based on matplotlib Close integration with pandas Dataset oriented API for examining relationships between multiple variables Specialized support for categorical variables to show observations or aggregate statistics Concise control over matplotlib figure styling with several built-in themes. Tools for choosing color palettes to reveal data patterns
|
Bokeh (https://bokeh.org/ ) | Python | | | | Plots are flexible, interactive, and shareable Very Python centric Has a host of third-party libraries that extends its use with high-level user interface Handles data quickly Dashboards with Bokeh server are dynamic and very fast
| | | |
D3.js (D3.js - Data-Driven Documents (d3js.org)) | Javascript | | | | Open source and can be used with other Javascript frameworks (ie. Angular.js, Ember.js, or React) Can add own features to source code to accomplish your goals Handles DOM, HTML, CSS< SVG, and canvas → does not need other plug-in other than browser, does not need additional debugging Can create dynamic, real-time transformation by manipulating DOM elements into data visualization Works on data and is specialized and appropriate with data visualization functions in Javascript library
| Does not support older browsers → need to put static placeholder if users are on older browsers Cannot easily conceal original data → Challenging to use D3 if you want to hide data Does not generate predetermined visualizations for you.
| | Data driven, gets data from arrays, CSV, XML, TSV, JSON, etc., and also API Should know/have:
|
Pts.js | Javascript | | | | | | | |
...
D3.js Tutorial - Data Visualization Framework For Beginners (softwaretestinghelp.com)
(notes)
Name
Open-source (if paid, how much $)
Does it require a wireless connection?
Real-time support for data entryStrengths
Pain-points
easy to create
Limitations
Language (Python or Javascript compatible)
Connection Details (connection requirements, cloud-based etc.) (boolean of whether the software can receive data from a database directly (MySQL))
Any other additional details you think may be good to include?
power bi, tableau, streamlit, dash, javascript plotting library, dash (6 or 7 minimum options)