Visualization is the key to understanding data! We will cover Matplotlib and Seaborn.
1import matplotlib.pyplot as plt
2import numpy as np
3
4# Simple line plot
5x = np.linspace(0, 10, 100)
6y = np.sin(x)
7
8plt.figure(figsize=(10, 6))
9plt.plot(x, y, label='sin(x)', color='blue', linewidth=2)
10plt.xlabel('X')
11plt.ylabel('Y')
12plt.title('Sine Function Plot')
13plt.legend()
14plt.grid(True)
15plt.savefig('plot.png')
16plt.show()1# Safari data
2species = ['Lion', 'Elephant', 'Cheetah', 'Giraffe']
3populations = [120, 450, 85, 200]
4
5# Bar chart
6plt.figure(figsize=(10, 6))
7plt.bar(species, populations, color=['gold', 'gray', 'orange', 'brown'])
8plt.xlabel('Species')
9plt.ylabel('Population')
10plt.title('Safari Animal Populations')
11plt.show()
12
13# Pie chart
14plt.figure(figsize=(8, 8))
15plt.pie(populations, labels=species, autopct='%1.1f%%',
16 colors=['gold', 'gray', 'orange', 'brown'])
17plt.title('Species Share of Safari Population')
18plt.show()
19
20# Histogram
21data = np.random.randn(1000)
22plt.figure(figsize=(10, 6))
23plt.hist(data, bins=30, edgecolor='black', alpha=0.7)
24plt.xlabel('Value')
25plt.ylabel('Frequency')
26plt.title('Data Distribution')
27plt.show()
28
29# Scatter plot
30x = np.random.rand(50)
31y = x + np.random.rand(50) * 0.3
32plt.figure(figsize=(10, 6))
33plt.scatter(x, y, c='blue', alpha=0.6, s=100)
34plt.xlabel('X')
35plt.ylabel('Y')
36plt.title('Scatter Plot')
37plt.show()1import seaborn as sns
2import pandas as pd
3
4# Set style
5sns.set_style('whitegrid')
6sns.set_palette('husl')
7
8# Data
9df = pd.DataFrame({
10 'species': ['Lion']*10 + ['Elephant']*10 + ['Cheetah']*10,
11 'weight': list(np.random.normal(180, 20, 10)) +
12 list(np.random.normal(5000, 500, 10)) +
13 list(np.random.normal(50, 10, 10)),
14 'habitat': ['Savanna']*15 + ['Forest']*15
15})
16
17# Boxplot
18plt.figure(figsize=(10, 6))
19sns.boxplot(data=df, x='species', y='weight')
20plt.title('Weight Distribution by Species')
21plt.show()
22
23# Violin plot
24plt.figure(figsize=(10, 6))
25sns.violinplot(data=df, x='species', y='weight')
26plt.show()
27
28# Heatmap (correlations)
29corr_matrix = df.select_dtypes(include=[np.number]).corr()
30plt.figure(figsize=(8, 6))
31sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', center=0)
32plt.title('Correlation Matrix')
33plt.show()
34
35# Pairplot - relationships between variables
36sns.pairplot(df, hue='species')
37plt.show()
38
39# Countplot - counting categories
40plt.figure(figsize=(10, 6))
41sns.countplot(data=df, x='habitat', hue='species')
42plt.title('Observation Count by Habitat')
43plt.show()1fig, axes = plt.subplots(2, 2, figsize=(12, 10))
2
3# Chart 1
4axes[0, 0].bar(species, populations)
5axes[0, 0].set_title('Populations')
6
7# Chart 2
8axes[0, 1].pie(populations, labels=species, autopct='%1.1f%%')
9axes[0, 1].set_title('Share')
10
11# Chart 3
12axes[1, 0].hist(np.random.randn(1000), bins=30)
13axes[1, 0].set_title('Histogram')
14
15# Chart 4
16axes[1, 1].scatter(x, y)
17axes[1, 1].set_title('Scatter')
18
19plt.tight_layout()
20plt.show()