Jul 14, 2024
# Python Matplotlib Course - Amit Thinks
## Welcome and Introduction
- YouTube Channel: Amit Thinks
- Course Topic: Python Matplotlib
- Matplotlib: Open-source plotting library developed by John D. Hunter
- Used for creating interactive visualizations in Python
- Popular for data visualization and data science
## Types of Plots with Matplotlib
- Line graphs
- Histograms
- Pie charts
- Bar graphs
- Scatter plots
## Lesson Topics Covered
- Introduction to Matplotlib
- Installation and setup
- Basic plotting
- Using different types of visualizations
- Live running examples
## What is Matplotlib?
- Python library for interactive visualizations
- Created by John D. Hunter in 2003
- Written in Python
- Helps in creating figures and diagrams
- Features: Free and open-source, supports pandas DataFrame, export to different file formats like PNG, PDF, SVG, etc.
- Extendable with third-party packages like Basemap and Cartopy
## Installation and Setup
- Use PyCharm (Community Edition)
- Steps for setting up Matplotlib:
1. Install Python and pip (current version)
2. Install PyCharm Community Edition
3. Install Matplotlib in PyCharm
- Verifying installation by running a simple Python program
## Running First Matplotlib Program
- **Importing Libraries:**
- `import matplotlib.pyplot as plt`
- `import numpy as np`
- **Creating a Simple Line Plot:**
- Define x and y coordinates using numpy arrays
- Plot the graph using `plt.plot(x, y)`
- Display using `plt.show()`
## Creating Plots
- **Sub-module pyplot: `import matplotlib.pyplot as plt`**
- Alias can be used for easier references
- **Example: Creating a Line Plot**
- Import necessary libraries
- Define data points (x and y coordinates)
- Use `plt.plot()` to plot the data
- Display using `plt.show()`
## Adding Labels and Titles
- **Adding Axis Labels:**
- `plt.xlabel('X-axis label')`
- `plt.ylabel('Y-axis label')`
- **Adding Title:**
- `plt.title('Title of the plot')`
## Grid Lines
- **Adding Grid Lines:**
- Use `plt.grid()` to add grid lines to the plot
## Bar Graphs
- **Creating Bar Graphs:**
- Use `plt.bar(x, y)`
- Bars represent data values with rectangular bars of different heights
## Pie Charts
- **Creating Pie Charts:**
- Use `plt.pie(sizes, labels=labels, autopct='%1.1f%%')`
- Example showing distribution of values
## Histograms
- **Creating Histograms:**
- Use `plt.hist(data, bins)`
- Represents frequency distribution of data
## Scatter Plots
- **Creating Scatter Plots:**
- Use `plt.scatter(x, y)`
- Represents relationship between two variables using dots
## Legends
- **Adding Legends:**
- Use `plt.legend()` to add legends to the plot
- Position legends with `loc` parameter
- Change background color: `plt.legend().get_frame().set_facecolor('color')`
- Adjust font size with `fontsize` parameter
## Exporting Figures
- Export visualizations into different file formats such as PNG, PDF, SVG etc.
- Example: `plt.savefig('filename.png')`
---
# Example Codes
### Line Plot Example
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 10, 1)
y = np.arange(10, 0, -1)
plt.plot(x, y)
plt.xlabel('X-axis label')
plt.ylabel('Y-axis label')
plt.title('Line Graph')
plt.grid(True)
plt.show()
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D']
y = [10, 20, 15, 25]
plt.bar(x, y)
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Bar Graph')
plt.show()
import matplotlib.pyplot as plt
labels = 'A', 'B', 'C', 'D'
sizes = [15, 30, 45, 10]
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title('Pie Chart')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
data = [20, 20, 30, 40, 10, 30, 40, 50, 60, 70]
bins = [0, 20, 40, 60, 80]
plt.hist(data, bins)
plt.xlabel('Bins')
plt.ylabel('Frequency')
plt.title('Histogram')
plt.show()
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6, 7, 8]
y = [5, 15, 25, 35, 25, 15, 5, 10]
plt.scatter(x, y, color='r')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Scatter Plot')
plt.show()