Alternatives to Matplotlib logo

Alternatives to Matplotlib

Tableau, MATLAB, Bokeh, R Language, and Plotly.js are the most popular alternatives and competitors to Matplotlib.
354
226
+ 1
7

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

916
953
4
Tableau helps people see and understand data.
916
953
+ 1
4
PROS OF TABLEAU
  • 3
    Capable of visualising billions of rows
  • 1
    Responsive
CONS OF TABLEAU
    Be the first to leave a con

    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

    621
    541
    29
    A high-level language and interactive environment for numerical computation, visualization, and programming
    621
    541
    + 1
    29
    PROS OF MATLAB
    • 14
      Simulink
    • 5
      Functions, statements, plots, directory navigation easy
    • 3
      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

    82
    142
    12
    An interactive visualization library
    82
    142
    + 1
    12
    PROS OF BOKEH
    • 10
      Beautiful Interactive charts in seconds
    • 2
      1
    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.4K
      1.6K
      382
      A language and environment for statistical computing and graphics
      2.4K
      1.6K
      + 1
      382
      PROS OF R LANGUAGE
      • 79
        Data analysis
      • 61
        Graphics and data visualization
      • 52
        Free
      • 41
        Great community
      • 37
        Flexible statistical analysis toolkit
      • 26
        Access to powerful, cutting-edge analytics
      • 25
        Easy packages setup
      • 18
        Interactive
      • 11
        R Studio IDE
      • 9
        Hacky
      • 5
        Preferred Medium
      • 5
        Shiny interactive plots
      • 5
        Shiny apps
      • 4
        Automated data reports
      • 4
        Cutting-edge machine learning straight from researchers
      CONS OF R LANGUAGE
      • 4
        Very messy syntax
      • 3
        Tables must fit in RAM
      • 2
        No push command for vectors/lists
      • 2
        Messy syntax for string concatenation
      • 2
        Arrays indices start with 1
      • 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.1M 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

      282
      543
      68
      A high-level, declarative charting library
      282
      543
      + 1
      68
      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
      • 3
        Webgl chart types are extremely performant
      • 3
        Impressive support for webgl 3D charts
      • 3
        Charts are easy to share with a cloud account
      • 2
        Interactive charts
      • 2
        Publication quality image export
      • 2
        Easy to use online editor for creating plotly.js 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

      27
      39
      0
      A data visualization package for the statistical programming language R
      27
      39
      + 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.2K
          1K
          19
          High-performance, easy-to-use data structures and data analysis tools for the Python programming language
          1.2K
          1K
          + 1
          19
          PROS OF PANDAS
          • 18
            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.6K
            1.5K
            627
            A JavaScript visualization library for HTML and SVG
            1.6K
            1.5K
            + 1
            627
            PROS OF D3.JS
            • 182
              Beautiful visualizations
            • 97
              Svg
            • 91
              Data-driven
            • 80
              Large set of examples
            • 60
              Data-driven documents
            • 23
              Visualization components
            • 20
              Transitions
            • 18
              Dynamic properties
            • 14
              Plugins
            • 11
              Transformation
            • 6
              Makes data interactive
            • 4
              Components
            • 4
              Enter and Exit
            • 3
              Open Source
            • 3
              Exhaustive
            • 3
              Backed by the new york times
            • 2
              Kris
            • 2
              Easy and beautiful
            • 1
              Angular 4
            • 1
              Simple elegance
            • 1
              Templates, force template
            • 1
              Awesome Community Support
            CONS OF D3.JS
            • 6
              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