Mastering matplotlib
Use the Amazon App to scan ISBNs and compare prices.
A practical guide that takes you beyond the basics of matplotlib and gives solutions to plot complex data
About This Book
- Customize, configure, and handle events, and interact with figures using matplotlib
- Create highly intricate and complicated graphs using matplotlib
- Explore matplotlib's depths through examples and explanations in IPython notebooks
Who This Book Is For
If you are a scientist, programmer, software engineer, or student who has working knowledge of matplotlib and now want to extend your usage of matplotlib to plot complex graphs and charts and handle large datasets, then this book is for you.
What You Will Learn
- Analyze the matplotlib code base and its internals
- Re-render visualized data on the fly based on changes in the user interface
- Take advantage of sophisticated third-party libraries to plot complex data relationships
- Create custom styles for use in specialize publications, presentations, or online media
- Generate consolidated master plots comprising many subplots for dashboard-like results
- Deploy matplotlib in Cloud environments
- Utilize matplotlib in big data projects
In Detail
matplotlib is a Python plotting library that provides a large feature set for a multitude of platforms. Given the depth of the library's legacy and the variety of related open source projects, gaining expert knowledge can be a time-consuming and often confusing process.
You'll begin your exciting journey learning about the skills that are necessary in leading technical teams for a visualization project or to become a matplotlib contributor.
Supported by highly-detailed IPython Notebooks, this book takes you through the conceptual components underlying the library and then provides a detailed overview of its APIs. From there, you will learn about event handling and how to code for interactive plots.
Next you will move on to customization techniques, local configuration of matplotib, and then deployments in Cloud environments. The adventure culminates in an exploration of big data visualization and matplotlib clustering.
Customers who viewed this item also viewed
Customers who bought this item also bought
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Product details
- Publisher : Packt Publishing (June 29, 2015)
- Language : English
- Paperback : 292 pages
- ISBN-10 : 1783987545
- ISBN-13 : 978-1783987542
- Item Weight : 1.11 pounds
- Dimensions : 7.5 x 0.66 x 9.25 inches
- Best Sellers Rank: #2,682,858 in Books (See Top 100 in Books)
- #1,481 in Data Modeling & Design (Books)
- #2,900 in Python Programming
- #6,894 in Computer Programming Languages
- Customer Reviews:
About the author

Duncan has been programming since 1981, when he joined others of his generation in coding for the pleasure and adventure of it -- with games! Duncan has maintained a blog since 2003 where he has provided tutorials and thoughts on Python, network programming, distributed computing, Lisp dialects, and Erlang. Duncan is a Python Software Foundation Fellow, a speaker at Erlang conferences, core contributor to LFE, and co-maintainer of the LFE documentation and blog. Duncan is the author of a book on data visualization for Python, and spends his nights working on community books for LFE, including an on-going project which is converting the famous work ~Structure and Interpretation of Computer Programs~ to LFE from its native Scheme. With 20 years of active involvement in open source software, Duncan's greatest pleasure comes from sharing amazing technologies -- new and old! -- with curious and interested minds. His greatest joy? Seeing the successes of those he has been able to help, directly or indirectly.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonReviewed in the United States on May 12, 2017
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Even though the topics covered are advanced, from the matplotlib architecture to deploying it in Docker and implementing in parallel computing, they are presented in a clear and concise way. Yet the breadth of applications covered is quite comprehensive, and the authors are able to articulate all the different chapters so that the learning feels like a natural progression instead of trying to cram very disparate subjects. The code is elegant and relatively short, facilitating its reading; and the authors explanations for it are very easy to follow. In particular, the chapter of big data visualization definitely goes beyond what is presented in other books that also cover the same topic, and the implementation explanations are much better. The fact that the book is under 300 pages long is a huge plus. The only chapter I felt that wasn't as easy to follow is the one on GUI deployment.
One aspect I really enjoyed about the book is the multiple explanations about the different approaches to creating figures with matplotlib. When you are learning Python and matplotlib you see some books that use pyplot, while others use pylab. Or some like the ax. synthax while others stick to the plt. one. This is the first book in which I see a presentation of all those possibilities, along with their advantages and disadvantages. By the same token, if you are confused as to when to use Seaborn vs yhat ggplot, what's the point of NetworkX, what is ModGrapher, etc. you will find all those explanations here, along with suggestions for their appropriate application.
Most Jupyter notebooks in the tutorials start with:
import matplotlib
matplotlib.use('nbagg')
%matplotlib inline
import matplotlib.pyplot as plt
One convenience to appreciate is how the author listed dependent libraries featured in the textbook, and even stored them in a text file included within the accompanying code, which can be downloaded for free from Packt Publishing. The generous author even states: "...you are welcome to...utilize the matplotlib library and the provided code in whatever way you see fit." Free practical, usable code. Once the free code has been downloaded, the github.com repo masteringmatplotlib/notebooks is optional. Mastering matplotlib
Reviewed in the United States on May 12, 2017
Most Jupyter notebooks in the tutorials start with:
import matplotlib
matplotlib.use('nbagg')
%matplotlib inline
import matplotlib.pyplot as plt
One convenience to appreciate is how the author listed dependent libraries featured in the textbook, and even stored them in a text file included within the accompanying code, which can be downloaded for free from Packt Publishing. The generous author even states: "...you are welcome to...utilize the matplotlib library and the provided code in whatever way you see fit." Free practical, usable code. Once the free code has been downloaded, the github.com repo masteringmatplotlib/notebooks is optional.[[ASIN:1783987545 Mastering matplotlib]]
The book begins by giving an historical overview of matplotlib and by introducing two popular projects, seaborn and pandas. The chapters that follow describes the matplotlib internal architecture and its API. Next the author illustrates how events are handled in matplotlib and how to create interactive plots. The fifth chapter is dedicated to high-level plotting and shows how to create plots with third-party libraries, such as networkX, pandas, and seaborn, which wrap matplotlib functionality. The chapter also briefly introduces Bokeh, a library that offers a series of improvements over matplotlib and focus its attention on the web browser. In this chapter the author did a very good job in showing how a good visualization of the data is crucial in data analysis. The next chapter covers the customization (and the configuration) of matplotlib. Here the author shows how to create complex layouts where different plots are combined in the same figure. In the eight chapter the author explains how to plot huge amount of data by illustrating different strategies that range from using tools such as numpy's memmap function and pytables, to decimating data (removal of a fraction of the data). The last chapter shows how it is possible to improve the performance of matplotlib by using a clustered environment.
Last but not least, the authors provided a GitHub repository with the example code and notebooks of each chapter of the book.









