Book Image

Python Automation Cookbook - Second Edition

By : Jaime Buelta
Book Image

Python Automation Cookbook - Second Edition

By: Jaime Buelta

Overview of this book

In this updated and extended version of Python Automation Cookbook, each chapter now comprises the newest recipes and is revised to align with Python 3.8 and higher. The book includes three new chapters that focus on using Python for test automation, machine learning projects, and for working with messy data. This edition will enable you to develop a sharp understanding of the fundamentals required to automate business processes through real-world tasks, such as developing your first web scraping application, analyzing information to generate spreadsheet reports with graphs, and communicating with automatically generated emails. Once you grasp the basics, you will acquire the practical knowledge to create stunning graphs and charts using Matplotlib, generate rich graphics with relevant information, automate marketing campaigns, build machine learning projects, and execute debugging techniques. By the end of this book, you will be proficient in identifying monotonous tasks and resolving process inefficiencies to produce superior and reliable systems.
Table of Contents (16 chapters)
14
Other Books You May Enjoy
15
Index

Combining graphs

More than one plot can be combined in the same graph. In this recipe, we'll see how to present data in the same plot, on two different axes, and how to add more plots to the same graph.

Getting ready

We need to install matplotlib in our virtual environment:

$ echo "matplotlib==3.2.1" >> requirements.txt
$ pip install -r requirements.txt

If you are using macOS, you may get an error like this: RuntimeError: Python is not installed as a framework. See the matplotlib documentation on how to fix it: https://matplotlib.org/faq/osx_framework.html.

How to do it...

  1. Import matplotlib:
    >>> import matplotlib.pyplot as plt
    
  2. Prepare the data to be displayed on the graph and the legends that should be displayed. Each of the lines is composed of the time label, sales of ProductA, and sales of ProductB. Notice how ProductB has a much higher value than A:
    >>> DATA = (
    ...  ('Q1...