Interoperability of Mojo Programming Language with Python Ecosystem: Using Matplotlib Python Visualization Library in Mojo Programming Language

Shriram Sivanandhan
3 min readOct 20, 2023

--

Mojo Programming Language combines the usability of Python with the performance of C, C++ and Rust. Mojo Programming Language utilizes next-generation compiler technologies with features like caching, multithreading and cloud distribution technologies. Further, Auto-Tuning and compile-time Metaprogramming features allows to write code for several hardware. The advantages of Mojo Programming Language are Usability & Programmability, best performance, Interoperability and Extensibility.

In this Article/Blog, we are going to see the Interoperability of Mojo Programming Language with Python Ecosystem to use Matplotlib Python Visualization Library in Mojo Programming Language. In this Article/Blog, we are going to see how to create a Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language.

In this Blog, Programming in Mojo is done using Mojo Playground.

Interoperability of Mojo Programming Language with Python Ecosystem:

In Mojo Programming Language, Interoperability with Python Ecosystem can be done to import Python modules / libraries / custom code / local modules and use it with Mojo Programming and also to create Python types from Mojo types. This mechanism uses CPython Interpreter to run the Python code and currently it works with all Python modules.

Matplotlib Python Visualization Library in Mojo Programming Language

Matplotlib Python Visualization Library is a comprehensive library for creating static, animated, and interactive visualizations in Python.

Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language:

To import a Python module / library in Mojo, first we should import Python from python module / library, then we should use Python.import_module() fucntion with the required module name.

For Line Plot we have imported matplotlib.pyplot and plotted the Line Plot as follows,

Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language
Output of Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language
Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language (Implementation in Mojo Playground)

In the above example, we are defining the x-axis values and y-axis values, and had created a line plot by connecting the points defined by x-axis values and y-axis values.

Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language
Output of Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language
Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language (Implementation in Mojo Playground)
Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language
Output of Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language
Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language (Implementation in Mojo Playground)

Since, Mojo Programming Language is still in development some features of Python Programming Language are not yet implemented in Mojo and not a full superset of Python yet, but all the missing Python features will be implemented soon as mentioned by Modular-Mojo Development Team. But Mojo Programming Language already consists of many features and capabilities beyond Python Programming Language.

We had seen about Interoperability of Mojo Programming Language with Python Ecosystem to use Matplotlib Python Visualization Library in Mojo Programming Language. We had seen about how to create a Line Plot using Matplotlib Python Visualization Library in Mojo Programming Language. Programming in Mojo and Mojo Programming concepts will be discussed further.

Thankyou for reading this blog on Interoperability of Mojo Programming Language with Python Ecosystem: Using Matplotlib Python Visualization Library in Mojo Programming Language.

Reference:

https://docs.modular.com/mojo/programming-manual.html

https://docs.modular.com/mojo/manual/basics/

https://matplotlib.org/

--

--