Alternatives to Matplotlib logo

Alternatives to Matplotlib

Tableau, MATLAB, Bokeh, R Language, and Plotly.js are the most popular alternatives and competitors to Matplotlib.
525
264
+ 1
9

What is Matplotlib and what are its top alternatives?

It is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. It can be used in Python scripts, the Python and IPython shells, the Jupyter notebook, web application servers, and four graphical user interface toolkits.
Matplotlib is a tool in the Charting Libraries category of a tech stack.

Top Alternatives to Matplotlib

  • Tableau
    Tableau

    Tableau can help anyone see and understand their data. Connect to almost any database, drag and drop to create visualizations, and share with a click. ...

  • MATLAB
    MATLAB

    Using MATLAB, you can analyze data, develop algorithms, and create models and applications. The language, tools, and built-in math functions enable you to explore multiple approaches and reach a solution faster than with spreadsheets or traditional programming languages, such as C/C++ or Java. ...

  • Bokeh
    Bokeh

    Bokeh is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords high-performance interactivity over large or streaming datasets. ...

  • R Language
    R Language

    R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, ...) and graphical techniques, and is highly extensible. ...

  • Plotly.js
    Plotly.js

    It is a standalone Javascript data visualization library, and it also powers the Python and R modules named plotly in those respective ecosystems (referred to as Plotly.py and Plotly.R). It can be used to produce dozens of chart types and visualizations, including statistical charts, 3D graphs, scientific charts, SVG and tile maps, financial charts and more. ...

  • ggplot2
    ggplot2

    It is a general scheme for data visualization which breaks up graphs into semantic components such as scales and layers. ...

  • Pandas
    Pandas

    Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more. ...

  • D3.js
    D3.js

    It is a JavaScript library for manipulating documents based on data. Emphasises on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework. ...

Matplotlib alternatives & related posts

Tableau logo

Tableau

1K
1.1K
6
Tableau helps people see and understand data.
1K
1.1K
+ 1
6
PROS OF TABLEAU
  • 4
    Capable of visualising billions of rows
  • 1
    Intuitive and easy to learn
  • 1
    Responsive
CONS OF TABLEAU
  • 1
    Very expensive for small companies

related Tableau posts

Looking for the best analytics software for a medium-large-sized firm. We currently use a Microsoft SQL Server database that is analyzed in Tableau desktop/published to Tableau online for users to access dashboards. Is it worth the cost savings/time to switch over to using SSRS or Power BI? Does anyone have experience migrating from Tableau to SSRS /or Power BI? Our other option is to consider using Tableau on-premises instead of online. Using custom SQL with over 3 million rows really decreases performances and results in processing times that greatly exceed our typical experience. Thanks.

See more
MATLAB logo

MATLAB

746
610
33
A high-level language and interactive environment for numerical computation, visualization, and programming
746
610
+ 1
33
PROS OF MATLAB
  • 17
    Simulink
  • 5
    Functions, statements, plots, directory navigation easy
  • 4
    Model based software development
  • 3
    S-Functions
  • 2
    REPL
  • 1
    Simple variabel control
  • 1
    Solve invertible matrix
CONS OF MATLAB
  • 1
    Parameter-value pairs syntax to pass arguments clunky
  • 0
    Does not support named function arguments
  • 0
    Doesn't allow unpacking tuples/arguments lists with *

related MATLAB posts

Bokeh logo

Bokeh

87
166
10
An interactive visualization library
87
166
+ 1
10
PROS OF BOKEH
  • 10
    Beautiful Interactive charts in seconds
CONS OF BOKEH
    Be the first to leave a con

    related Bokeh posts

    Shared insights
    on
    MatplotlibMatplotlibBokehBokehDjangoDjango

    Hi - I am looking to develop an app accessed by a browser that will display interactive networks (including adding or deleting nodes, edges, labels (or changing labels) based on user input. Look to use Django at the backend. Also need to manage graph versions if one person makes a graph change while another person is looking at it. Mainly tree networks for starters anyway. I probably will use the Networkx package. Not sure what the pros and cons are using Bokeh vs Matplotlib. I would be grateful for any comments or suggestions. Thanks.

    See more
    R Language logo

    R Language

    2.8K
    1.7K
    394
    A language and environment for statistical computing and graphics
    2.8K
    1.7K
    + 1
    394
    PROS OF R LANGUAGE
    • 81
      Data analysis
    • 61
      Graphics and data visualization
    • 52
      Free
    • 43
      Great community
    • 37
      Flexible statistical analysis toolkit
    • 26
      Access to powerful, cutting-edge analytics
    • 25
      Easy packages setup
    • 18
      Interactive
    • 12
      R Studio IDE
    • 9
      Hacky
    • 7
      Shiny apps
    • 6
      Shiny interactive plots
    • 5
      Preferred Medium
    • 5
      Automated data reports
    • 4
      Cutting-edge machine learning straight from researchers
    • 2
      Machine Learning
    • 1
      Graphical visualization
    CONS OF R LANGUAGE
    • 5
      Very messy syntax
    • 4
      Tables must fit in RAM
    • 2
      Arrays indices start with 1
    • 2
      No push command for vectors/lists
    • 2
      Messy syntax for string concatenation
    • 1
      Messy character encoding
    • 0
      Poor syntax for classes
    • 0
      Messy syntax for array/vector combination

    related R Language posts

    Eric Colson
    Chief Algorithms Officer at Stitch Fix · | 21 upvotes · 2.3M views

    The algorithms and data infrastructure at Stitch Fix is housed in #AWS. Data acquisition is split between events flowing through Kafka, and periodic snapshots of PostgreSQL DBs. We store data in an Amazon S3 based data warehouse. Apache Spark on Yarn is our tool of choice for data movement and #ETL. Because our storage layer (s3) is decoupled from our processing layer, we are able to scale our compute environment very elastically. We have several semi-permanent, autoscaling Yarn clusters running to serve our data processing needs. While the bulk of our compute infrastructure is dedicated to algorithmic processing, we also implemented Presto for adhoc queries and dashboards.

    Beyond data movement and ETL, most #ML centric jobs (e.g. model training and execution) run in a similarly elastic environment as containers running Python and R code on Amazon EC2 Container Service clusters. The execution of batch jobs on top of ECS is managed by Flotilla, a service we built in house and open sourced (see https://github.com/stitchfix/flotilla-os).

    At Stitch Fix, algorithmic integrations are pervasive across the business. We have dozens of data products actively integrated systems. That requires serving layer that is robust, agile, flexible, and allows for self-service. Models produced on Flotilla are packaged for deployment in production using Khan, another framework we've developed internally. Khan provides our data scientists the ability to quickly productionize those models they've developed with open source frameworks in Python 3 (e.g. PyTorch, sklearn), by automatically packaging them as Docker containers and deploying to Amazon ECS. This provides our data scientist a one-click method of getting from their algorithms to production. We then integrate those deployments into a service mesh, which allows us to A/B test various implementations in our product.

    For more info:

    #DataScience #DataStack #Data

    See more
    Maged Maged Rafaat Kamal
    Shared insights
    on
    PythonPythonR LanguageR Language

    I am currently trying to learn R Language for machine learning, I already have a good knowledge of Python. What resources would you recommend to learn from as a beginner in R?

    See more
    Plotly.js logo

    Plotly.js

    295
    589
    69
    A high-level, declarative charting library
    295
    589
    + 1
    69
    PROS OF PLOTLY.JS
    • 16
      Bindings to popular languages like Python, Node, R, etc
    • 10
      Integrated zoom and filter-out tools in charts and maps
    • 9
      Great support for complex and multiple axes
    • 8
      Powerful out-of-the-box featureset
    • 6
      Beautiful visualizations
    • 4
      Active user base
    • 4
      Impressive support for webgl 3D charts
    • 3
      Webgl chart types are extremely performant
    • 3
      Charts are easy to share with a cloud account
    • 2
      Publication quality image export
    • 2
      Easy to use online editor for creating plotly.js charts
    • 2
      Interactive charts
    CONS OF PLOTLY.JS
    • 16
      Terrible document

    related Plotly.js posts

    Tim Abbott
    Shared insights
    on
    Plotly.jsPlotly.jsD3.jsD3.js
    at

    We use Plotly (just their open source stuff) for Zulip's user-facing and admin-facing statistics graphs because it's a reasonably well-designed JavaScript graphing library.

    If you've tried using D3.js, it's a pretty poor developer experience, and that translates to spending a bunch of time getting the graphs one wants even for things that are conceptually pretty basic. Plotly isn't amazing (it's decent), but it's way better than than D3 unless you have very specialized needs.

    See more

    Here is my stack on #Visualization. @FusionCharts and Highcharts are easy to use but only free for non-commercial. Chart.js and Plotly are two lovely tools for commercial use under the MIT license. And D3.js would be my last choice only if a complex customized plot is needed.

    See more
    ggplot2 logo

    ggplot2

    44
    56
    0
    A data visualization package for the statistical programming language R
    44
    56
    + 1
    0
    PROS OF GGPLOT2
      Be the first to leave a pro
      CONS OF GGPLOT2
        Be the first to leave a con

        related ggplot2 posts

        Pandas logo

        Pandas

        1.5K
        1.1K
        22
        High-performance, easy-to-use data structures and data analysis tools for the Python programming language
        1.5K
        1.1K
        + 1
        22
        PROS OF PANDAS
        • 21
          Easy data frame management
        • 1
          Extensive file format compatibility
        CONS OF PANDAS
          Be the first to leave a con

          related Pandas posts

          Server side

          We decided to use Python for our backend because it is one of the industry standard languages for data analysis and machine learning. It also has a lot of support due to its large user base.

          • Web Server: We chose Flask because we want to keep our machine learning / data analysis and the web server in the same language. Flask is easy to use and we all have experience with it. Postman will be used for creating and testing APIs due to its convenience.

          • Machine Learning: We decided to go with PyTorch for machine learning since it is one of the most popular libraries. It is also known to have an easier learning curve than other popular libraries such as Tensorflow. This is important because our team lacks ML experience and learning the tool as fast as possible would increase productivity.

          • Data Analysis: Some common Python libraries will be used to analyze our data. These include NumPy, Pandas , and matplotlib. These tools combined will help us learn the properties and characteristics of our data. Jupyter notebook will be used to help organize the data analysis process, and improve the code readability.

          Client side

          • UI: We decided to use React for the UI because it helps organize the data and variables of the application into components, making it very convenient to maintain our dashboard. Since React is one of the most popular front end frameworks right now, there will be a lot of support for it as well as a lot of potential new hires that are familiar with the framework. CSS 3 and HTML5 will be used for the basic styling and structure of the web app, as they are the most widely used front end languages.

          • State Management: We decided to use Redux to manage the state of the application since it works naturally to React. Our team also already has experience working with Redux which gave it a slight edge over the other state management libraries.

          • Data Visualization: We decided to use the React-based library Victory to visualize the data. They have very user friendly documentation on their official website which we find easy to learn from.

          Cache

          • Caching: We decided between Redis and memcached because they are two of the most popular open-source cache engines. We ultimately decided to use Redis to improve our web app performance mainly due to the extra functionalities it provides such as fine-tuning cache contents and durability.

          Database

          • Database: We decided to use a NoSQL database over a relational database because of its flexibility from not having a predefined schema. The user behavior analytics has to be flexible since the data we plan to store may change frequently. We decided on MongoDB because it is lightweight and we can easily host the database with MongoDB Atlas . Everyone on our team also has experience working with MongoDB.

          Infrastructure

          • Deployment: We decided to use Heroku over AWS, Azure, Google Cloud because it is free. Although there are advantages to the other cloud services, Heroku makes the most sense to our team because our primary goal is to build an MVP.

          Other Tools

          • Communication Slack will be used as the primary source of communication. It provides all the features needed for basic discussions. In terms of more interactive meetings, Zoom will be used for its video calls and screen sharing capabilities.

          • Source Control The project will be stored on GitHub and all code changes will be done though pull requests. This will help us keep the codebase clean and make it easy to revert changes when we need to.

          See more
          Guillaume Simler

          Jupyter Anaconda Pandas IPython

          A great way to prototype your data analytic modules. The use of the package is simple and user-friendly and the migration from ipython to python is fairly simple: a lot of cleaning, but no more.

          The negative aspect comes when you want to streamline your productive system or does CI with your anaconda environment: - most tools don't accept conda environments (as smoothly as pip requirements) - the conda environments (even with miniconda) have quite an overhead

          See more
          D3.js logo

          D3.js

          1.7K
          1.6K
          634
          A JavaScript visualization library for HTML and SVG
          1.7K
          1.6K
          + 1
          634
          PROS OF D3.JS
          • 187
            Beautiful visualizations
          • 98
            Svg
          • 91
            Data-driven
          • 80
            Large set of examples
          • 60
            Data-driven documents
          • 23
            Visualization components
          • 20
            Transitions
          • 18
            Dynamic properties
          • 16
            Plugins
          • 11
            Transformation
          • 7
            Makes data interactive
          • 4
            Components
          • 4
            Enter and Exit
          • 3
            Exhaustive
          • 3
            Open Source
          • 3
            Backed by the new york times
          • 2
            Easy and beautiful
          • 1
            Awesome Community Support
          • 1
            Simple elegance
          • 1
            Templates, force template
          • 1
            Angular 4
          CONS OF D3.JS
          • 10
            Beginners cant understand at all
          • 5
            Complex syntax

          related D3.js posts

          Tim Abbott
          Shared insights
          on
          Plotly.jsPlotly.jsD3.jsD3.js
          at

          We use Plotly (just their open source stuff) for Zulip's user-facing and admin-facing statistics graphs because it's a reasonably well-designed JavaScript graphing library.

          If you've tried using D3.js, it's a pretty poor developer experience, and that translates to spending a bunch of time getting the graphs one wants even for things that are conceptually pretty basic. Plotly isn't amazing (it's decent), but it's way better than than D3 unless you have very specialized needs.

          See more

          I'm a student, and I have a project to build an application (Visual analytics tool) that takes a Microsoft Excel file, cleans the data, and visualizes it. Also, the app should allow the user to filter and interact with it.

          1- should I make it desktop application or web application? : I'm leaning toward (desktop)

          2- D3.js OR Python?

          3- better excel or CSV?

          I'm a beginner Inspiration for interaction and look of the app: eventflow application.

          See more