Forwarded from Python | Machine Learning | Coding | R
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from Python | Machine Learning | Coding | R
Top 100+ questions%0A %22Google Data Science Interview%22.pdf
16.7 MB
Google is known for its rigorous data science interview process, which typically follows a hybrid format. Candidates are expected to demonstrate strong programming skills, solid knowledge in statistics and machine learning, and a keen ability to approach problems from a product-oriented perspective.
To succeed, one must be proficient in several critical areas: statistics and probability, SQL and Python programming, product sense, and case study-based analytics.
This curated list features over 100 of the most commonly asked and important questions in Google data science interviews. It serves as a comprehensive resource to help candidates prepare effectively and confidently for the challenge ahead.
#DataScience #GoogleInterview #InterviewPrep #MachineLearning #SQL #Statistics #ProductAnalytics #Python #CareerGrowth
https://yangx.top/addlist/0f6vfFbEMdAwODBk
Please open Telegram to view this post
VIEW IN TELEGRAM
@CodeProgrammer Matplotlib.pdf
4.3 MB
The Complete Visual Guide for Data Enthusiasts
Matplotlib is a powerful Python library for data visualization, essential not only for acing job interviews but also for building a solid foundation in analytical thinking and data storytelling.
This step-by-step tutorial guide walks learners through everything from the basics to advanced techniques in Matplotlib. It also includes a curated collection of the most frequently asked Matplotlib-related interview questions, making it an ideal resource for both beginners and experienced professionals.
#Matplotlib #DataVisualization #Python #DataScience #InterviewPrep #Analytics #TechCareer #LearnToCode
https://yangx.top/addlist/0f6vfFbEMdAwODBk
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
Topic: Python Matplotlib – From Easy to Top: Part 1 of 6: Introduction and Basic Plotting
---
### 1. What is Matplotlib?
• Matplotlib is the most widely used Python library for data visualization.
• It provides an object-oriented API for embedding plots into applications and supports a wide variety of graphs: line charts, bar charts, scatter plots, histograms, etc.
---
### 2. Installing and Importing Matplotlib
Install Matplotlib if you haven't:
Import the main module and pyplot interface:
---
### 3. Plotting a Basic Line Chart
---
### 4. Customizing Line Style, Color, and Markers
---
### 5. Adding Multiple Lines to a Plot
---
### 6. Scatter Plot
Used to show relationships between two variables.
---
### 7. Bar Chart
---
### 8. Histogram
---
### 9. Saving the Plot to a File
---
### 10. Summary
•
• You can customize styles, add labels, titles, and legends.
• Understanding basic plots is the foundation for creating advanced visualizations.
---
Exercise
• Plot
• Create a scatter plot of 100 random points.
• Create and save a histogram from a normal distribution sample of 500 points.
---
#Python #Matplotlib #DataVisualization #Plots #Charts
https://yangx.top/DataScienceM
---
### 1. What is Matplotlib?
• Matplotlib is the most widely used Python library for data visualization.
• It provides an object-oriented API for embedding plots into applications and supports a wide variety of graphs: line charts, bar charts, scatter plots, histograms, etc.
---
### 2. Installing and Importing Matplotlib
Install Matplotlib if you haven't:
pip install matplotlib
Import the main module and pyplot interface:
import matplotlib.pyplot as plt
import numpy as np
---
### 3. Plotting a Basic Line Chart
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.plot(x, y)
plt.title("Simple Line Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.grid(True)
plt.show()
---
### 4. Customizing Line Style, Color, and Markers
plt.plot(x, y, color='green', linestyle='--', marker='o', label='Data')
plt.title("Styled Line Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.legend()
plt.show()
---
### 5. Adding Multiple Lines to a Plot
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label="sin(x)", color='blue')
plt.plot(x, y2, label="cos(x)", color='red')
plt.title("Multiple Line Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.legend()
plt.grid(True)
plt.show()
---
### 6. Scatter Plot
Used to show relationships between two variables.
x = np.random.rand(100)
y = np.random.rand(100)
plt.scatter(x, y, color='purple', alpha=0.6)
plt.title("Scatter Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.show()
---
### 7. Bar Chart
categories = ['A', 'B', 'C', 'D']
values = [4, 7, 2, 5]
plt.bar(categories, values, color='skyblue')
plt.title("Bar Chart Example")
plt.xlabel("Category")
plt.ylabel("Value")
plt.show()
---
### 8. Histogram
data = np.random.randn(1000)
plt.hist(data, bins=30, color='orange', edgecolor='black')
plt.title("Histogram")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()
---
### 9. Saving the Plot to a File
plt.plot([1, 2, 3], [4, 5, 6])
plt.savefig("plot.png")
---
### 10. Summary
•
matplotlib.pyplot
is the key module for creating all kinds of plots.• You can customize styles, add labels, titles, and legends.
• Understanding basic plots is the foundation for creating advanced visualizations.
---
Exercise
• Plot
y = x^2
and y = x^3
on the same figure.• Create a scatter plot of 100 random points.
• Create and save a histogram from a normal distribution sample of 500 points.
---
#Python #Matplotlib #DataVisualization #Plots #Charts
https://yangx.top/DataScienceM
❤3
Topic: Python Matplotlib – From Easy to Top: Part 2 of 6: Subplots, Figures, and Layout Management
---
### 1. Introduction to Figures and Axes
• In Matplotlib, a Figure is the entire image or window on which everything is drawn.
• An Axes is a part of the figure where data is plotted — it contains titles, labels, ticks, lines, etc.
Basic hierarchy:
* Figure ➝ contains one or more Axes
* Axes ➝ the area where the data is actually plotted
* Axis ➝ x-axis and y-axis inside an Axes
---
### 2. Creating Multiple Subplots using `plt.subplot()`
Explanation:
*
*
---
### 3. Creating Subplots with `plt.subplots()` (Recommended)
---
### 4. Sharing Axes Between Subplots
---
### 5. Adjusting Spacing with `subplots_adjust()`
---
### 6. Nested Plots Using `inset_axes`
You can add a small plot inside another:
---
### 7. Advanced Layout: Gridspec
---
### 8. Summary
• Use
• Share axes to align multiple plots.
• Use
• Always use
---
### Exercise
• Create a 2x2 grid of subplots showing different trigonometric functions.
• Add an inset plot inside a sine wave chart.
• Use Gridspec to create an asymmetric layout with at least 5 different plots.
---
#Python #Matplotlib #Subplots #DataVisualization #Gridspec #LayoutManagement
https://yangx.top/DataScienceM
---
### 1. Introduction to Figures and Axes
• In Matplotlib, a Figure is the entire image or window on which everything is drawn.
• An Axes is a part of the figure where data is plotted — it contains titles, labels, ticks, lines, etc.
Basic hierarchy:
* Figure ➝ contains one or more Axes
* Axes ➝ the area where the data is actually plotted
* Axis ➝ x-axis and y-axis inside an Axes
import matplotlib.pyplot as plt
import numpy as np
---
### 2. Creating Multiple Subplots using `plt.subplot()`
x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.subplot(2, 1, 1)
plt.plot(x, y1, label="sin(x)")
plt.title("First Subplot")
plt.subplot(2, 1, 2)
plt.plot(x, y2, label="cos(x)", color='green')
plt.title("Second Subplot")
plt.tight_layout()
plt.show()
Explanation:
*
subplot(2, 1, 1)
means 2 rows, 1 column, this is the first plot.*
tight_layout()
prevents overlap between plots.---
### 3. Creating Subplots with `plt.subplots()` (Recommended)
fig, axs = plt.subplots(2, 2, figsize=(8, 6))
x = np.linspace(0, 10, 100)
axs[0, 0].plot(x, np.sin(x))
axs[0, 0].set_title("sin(x)")
axs[0, 1].plot(x, np.cos(x))
axs[0, 1].set_title("cos(x)")
axs[1, 0].plot(x, np.tan(x))
axs[1, 0].set_title("tan(x)")
axs[1, 0].set_ylim(-10, 10)
axs[1, 1].plot(x, np.exp(-x))
axs[1, 1].set_title("exp(-x)")
plt.tight_layout()
plt.show()
---
### 4. Sharing Axes Between Subplots
fig, axs = plt.subplots(1, 2, sharey=True)
x = np.linspace(0, 10, 100)
axs[0].plot(x, np.sin(x))
axs[0].set_title("sin(x)")
axs[1].plot(x, np.cos(x), color='red')
axs[1].set_title("cos(x)")
plt.show()
---
### 5. Adjusting Spacing with `subplots_adjust()`
fig, axs = plt.subplots(2, 2)
fig.subplots_adjust(hspace=0.4, wspace=0.3)
---
### 6. Nested Plots Using `inset_axes`
You can add a small plot inside another:
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
fig, ax = plt.subplots()
x = np.linspace(0, 10, 100)
y = np.sin(x)
ax.plot(x, y)
ax.set_title("Main Plot")
inset_ax = inset_axes(ax, width="30%", height="30%", loc=1)
inset_ax.plot(x, np.cos(x), color='orange')
inset_ax.set_title("Inset", fontsize=8)
plt.show()
---
### 7. Advanced Layout: Gridspec
import matplotlib.gridspec as gridspec
fig = plt.figure(figsize=(8, 6))
gs = gridspec.GridSpec(3, 3)
ax1 = fig.add_subplot(gs[0, :])
ax2 = fig.add_subplot(gs[1, :-1])
ax3 = fig.add_subplot(gs[1:, -1])
ax4 = fig.add_subplot(gs[2, 0])
ax5 = fig.add_subplot(gs[2, 1])
ax1.set_title("Top")
ax2.set_title("Left")
ax3.set_title("Right")
ax4.set_title("Bottom Left")
ax5.set_title("Bottom Center")
plt.tight_layout()
plt.show()
---
### 8. Summary
• Use
subplot()
for quick layouts and subplots()
for flexibility.• Share axes to align multiple plots.
• Use
inset_axes
and gridspec
for custom and complex layouts.• Always use
tight_layout()
or subplots_adjust()
to clean up spacing.---
### Exercise
• Create a 2x2 grid of subplots showing different trigonometric functions.
• Add an inset plot inside a sine wave chart.
• Use Gridspec to create an asymmetric layout with at least 5 different plots.
---
#Python #Matplotlib #Subplots #DataVisualization #Gridspec #LayoutManagement
https://yangx.top/DataScienceM
❤1
Topic: Python Matplotlib – From Easy to Top: Part 3 of 6: Plot Customization and Styling
---
### 1. Why Customize Plots?
• Customization improves readability and presentation.
• You can control everything from fonts and colors to axis ticks and legend placement.
---
### 2. Customizing Titles, Labels, and Ticks
---
### 3. Changing Line Styles and Markers
Common styles:
• Line styles:
• Markers:
• Colors:
---
### 4. Adding Legends
---
### 5. Using Annotations
Annotations help highlight specific points:
---
### 6. Customizing Axes Appearance
---
### 7. Setting Plot Limits
---
### 8. Using Style Sheets
Matplotlib has built-in style sheets for quick beautification.
Popular styles:
---
### 9. Creating Grids and Minor Ticks
---
### 10. Summary
• Customize everything: lines, axes, colors, labels, and grid.
• Use legends and annotations for clarity.
• Apply styles and themes for professional looks.
• Small changes improve the quality of your plots significantly.
---
### Exercise
• Plot sin(x) with red dashed lines and circle markers.
• Add a title, custom x/y labels, and set axis ranges manually.
• Apply the
---
#Python #Matplotlib #Customization #DataVisualization #PlotStyling
https://yangx.top/DataScienceM
---
### 1. Why Customize Plots?
• Customization improves readability and presentation.
• You can control everything from fonts and colors to axis ticks and legend placement.
---
### 2. Customizing Titles, Labels, and Ticks
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.title("Sine Wave", fontsize=16, color='navy')
plt.xlabel("Time (s)", fontsize=12)
plt.ylabel("Amplitude", fontsize=12)
plt.xticks(np.arange(0, 11, 1))
plt.yticks(np.linspace(-1, 1, 5))
plt.grid(True)
plt.show()
---
### 3. Changing Line Styles and Markers
plt.plot(x, y, color='red', linestyle='--', linewidth=2, marker='o', markersize=5, label='sin(x)')
plt.title("Styled Sine Curve")
plt.legend()
plt.grid(True)
plt.show()
Common styles:
• Line styles:
'-'
, '--'
, ':'
, '-.'
• Markers:
'o'
, '^'
, 's'
, '*'
, 'D'
, etc.• Colors:
'r'
, 'g'
, 'b'
, 'c'
, 'm'
, 'y'
, 'k'
, etc.---
### 4. Adding Legends
plt.plot(x, np.sin(x), label="Sine")
plt.plot(x, np.cos(x), label="Cosine")
plt.legend(loc='upper right', fontsize=10)
plt.title("Legend Example")
plt.show()
---
### 5. Using Annotations
Annotations help highlight specific points:
plt.plot(x, y)
plt.annotate('Peak', xy=(np.pi/2, 1), xytext=(2, 1.2),
arrowprops=dict(facecolor='black', shrink=0.05))
plt.title("Annotated Peak")
plt.show()
---
### 6. Customizing Axes Appearance
fig, ax = plt.subplots()
ax.plot(x, y)
# Remove top and right border
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
# Customize axis colors and widths
ax.spines['left'].set_color('blue')
ax.spines['left'].set_linewidth(2)
plt.title("Customized Axes")
plt.show()
---
### 7. Setting Plot Limits
plt.plot(x, y)
plt.xlim(0, 10)
plt.ylim(-1.5, 1.5)
plt.title("Limit Axes")
plt.show()
---
### 8. Using Style Sheets
Matplotlib has built-in style sheets for quick beautification.
plt.style.use('ggplot')
plt.plot(x, np.sin(x))
plt.title("ggplot Style")
plt.show()
Popular styles:
seaborn
, fivethirtyeight
, bmh
, dark_background
, etc.---
### 9. Creating Grids and Minor Ticks
plt.plot(x, y)
plt.grid(True, which='both', linestyle='--', linewidth=0.5)
plt.minorticks_on()
plt.title("Grid with Minor Ticks")
plt.show()
---
### 10. Summary
• Customize everything: lines, axes, colors, labels, and grid.
• Use legends and annotations for clarity.
• Apply styles and themes for professional looks.
• Small changes improve the quality of your plots significantly.
---
### Exercise
• Plot sin(x) with red dashed lines and circle markers.
• Add a title, custom x/y labels, and set axis ranges manually.
• Apply the
'seaborn-darkgrid'
style and highlight the peak with an annotation.---
#Python #Matplotlib #Customization #DataVisualization #PlotStyling
https://yangx.top/DataScienceM
❤3
Topic: Python Matplotlib – From Easy to Top: Part 4 of 6: Advanced Charts – Histograms, Pie, Box, Area, and Error Bars
---
### 1. Histogram: Visualizing Data Distribution
Histograms show frequency distribution of numerical data.
Customizations:
•
•
•
---
### 2. Pie Chart: Showing Proportions
---
### 3. Box Plot: Summarizing Distribution Stats
Box plots show min, Q1, median, Q3, max, and outliers.
Tip: Use
---
### 4. Area Chart: Cumulative Trends
---
### 5. Error Bar Plot: Showing Uncertainty
---
### 6. Horizontal Bar Chart
---
### 7. Stacked Bar Chart
---
### 8. Summary
• Histograms show frequency distribution
• Pie charts are good for proportions
• Box plots summarize spread and outliers
• Area charts visualize trends over time
• Error bars indicate uncertainty in measurements
• Stacked and horizontal bars enhance categorical data clarity
---
### Exercise
• Create a pie chart showing budget allocation of 5 departments.
• Plot 3 histograms on the same figure with different distributions.
• Build a stacked bar chart for monthly expenses across 3 categories.
• Add error bars to a decaying function and annotate the max point.
---
#Python #Matplotlib #DataVisualization #AdvancedCharts #Histograms #PieCharts #BoxPlots
https://yangx.top/DataScienceM
---
### 1. Histogram: Visualizing Data Distribution
Histograms show frequency distribution of numerical data.
import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(1000)
plt.hist(data, bins=30, color='skyblue', edgecolor='black')
plt.title("Normal Distribution Histogram")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.grid(True)
plt.show()
Customizations:
•
bins=30
– controls granularity•
density=True
– normalize the histogram•
alpha=0.7
– transparency---
### 2. Pie Chart: Showing Proportions
labels = ['Python', 'JavaScript', 'C++', 'Java']
sizes = [45, 30, 15, 10]
colors = ['gold', 'lightgreen', 'lightcoral', 'lightskyblue']
explode = (0.1, 0, 0, 0) # explode the 1st slice
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%',
startangle=140, explode=explode, shadow=True)
plt.title("Programming Language Popularity")
plt.axis('equal') # Equal aspect ratio ensures pie is circular
plt.show()
---
### 3. Box Plot: Summarizing Distribution Stats
Box plots show min, Q1, median, Q3, max, and outliers.
data = [np.random.normal(0, std, 100) for std in range(1, 4)]
plt.boxplot(data, patch_artist=True, labels=['std=1', 'std=2', 'std=3'])
plt.title("Box Plot Example")
plt.grid(True)
plt.show()
Tip: Use
vert=False
to make a horizontal boxplot.---
### 4. Area Chart: Cumulative Trends
x = np.arange(1, 6)
y1 = np.array([1, 3, 4, 5, 7])
y2 = np.array([1, 2, 4, 6, 8])
plt.fill_between(x, y1, color="skyblue", alpha=0.5, label="Y1")
plt.fill_between(x, y2, color="orange", alpha=0.5, label="Y2")
plt.title("Area Chart")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.legend()
plt.show()
---
### 5. Error Bar Plot: Showing Uncertainty
x = np.arange(0.1, 4, 0.5)
y = np.exp(-x)
error = 0.1 + 0.2 * x
plt.errorbar(x, y, yerr=error, fmt='-o', color='teal', ecolor='red', capsize=5)
plt.title("Error Bar Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.grid(True)
plt.show()
---
### 6. Horizontal Bar Chart
langs = ['Python', 'Java', 'C++', 'JavaScript']
popularity = [50, 40, 30, 45]
plt.barh(langs, popularity, color='plum')
plt.title("Programming Language Popularity")
plt.xlabel("Popularity")
plt.show()
---
### 7. Stacked Bar Chart
labels = ['2019', '2020', '2021']
men = [20, 35, 30]
women = [25, 32, 34]
x = np.arange(len(labels))
width = 0.5
plt.bar(x, men, width, label='Men')
plt.bar(x, women, width, bottom=men, label='Women')
plt.ylabel('Scores')
plt.title('Scores by Year and Gender')
plt.xticks(x, labels)
plt.legend()
plt.show()
---
### 8. Summary
• Histograms show frequency distribution
• Pie charts are good for proportions
• Box plots summarize spread and outliers
• Area charts visualize trends over time
• Error bars indicate uncertainty in measurements
• Stacked and horizontal bars enhance categorical data clarity
---
### Exercise
• Create a pie chart showing budget allocation of 5 departments.
• Plot 3 histograms on the same figure with different distributions.
• Build a stacked bar chart for monthly expenses across 3 categories.
• Add error bars to a decaying function and annotate the max point.
---
#Python #Matplotlib #DataVisualization #AdvancedCharts #Histograms #PieCharts #BoxPlots
https://yangx.top/DataScienceM
Topic: Python Matplotlib – From Easy to Top: Part 5 of 6: Images, Heatmaps, and Colorbars
---
### 1. Introduction
Matplotlib can handle images, heatmaps, and color mapping effectively, making it a great tool for visualizing:
• Image data (grayscale or color)
• Matrix-like data with heatmaps
• Any data that needs a gradient of colors
---
### 2. Displaying Images with `imshow()`
Key parameters:
•
•
---
### 3. Displaying Color Images
Note: Image should be PNG or JPG. For real projects, use PIL or OpenCV for more control.
---
### 4. Creating a Heatmap from a 2D Matrix
---
### 5. Customizing Color Maps
You can reverse or customize color maps:
You can also create custom color ranges using
---
### 6. Using `matshow()` for Matrix-Like Data
---
### 7. Annotating Heatmaps
---
### 8. Displaying Multiple Images in Subplots
---
### 9. Saving Heatmaps and Figures
---
### 10. Summary
•
• Heatmaps are great for matrix or correlation data
• Use colorbars and annotations to add context
• Customize colormaps with
• Save your visualizations easily using
---
### Exercise
• Load a grayscale image using NumPy and display it.
• Create a 10×10 heatmap with annotations.
• Display 3 subplots of the same matrix using 3 different colormaps.
• Save one of the heatmaps with high resolution.
---
#Python #Matplotlib #Heatmaps #DataVisualization #Images #ColorMapping
https://yangx.top/DataScienceM
---
### 1. Introduction
Matplotlib can handle images, heatmaps, and color mapping effectively, making it a great tool for visualizing:
• Image data (grayscale or color)
• Matrix-like data with heatmaps
• Any data that needs a gradient of colors
---
### 2. Displaying Images with `imshow()`
import matplotlib.pyplot as plt
import numpy as np
# Create a random grayscale image
img = np.random.rand(10, 10)
plt.imshow(img, cmap='gray')
plt.title("Grayscale Image")
plt.colorbar()
plt.show()
Key parameters:
•
cmap
– color map (gray
, hot
, viridis
, coolwarm
, etc.)•
interpolation
– for smoothing pixelation (nearest
, bilinear
, bicubic
)---
### 3. Displaying Color Images
import matplotlib.image as mpimg
img = mpimg.imread('example.png') # image must be in your directory
plt.imshow(img)
plt.title("Color Image")
plt.axis('off') # Hide axes
plt.show()
Note: Image should be PNG or JPG. For real projects, use PIL or OpenCV for more control.
---
### 4. Creating a Heatmap from a 2D Matrix
matrix = np.random.rand(6, 6)
plt.imshow(matrix, cmap='viridis', interpolation='nearest')
plt.title("Heatmap Example")
plt.colorbar(label="Intensity")
plt.xticks(range(6), ['A', 'B', 'C', 'D', 'E', 'F'])
plt.yticks(range(6), ['P', 'Q', 'R', 'S', 'T', 'U'])
plt.show()
---
### 5. Customizing Color Maps
You can reverse or customize color maps:
plt.imshow(matrix, cmap='coolwarm_r') # Reversed coolwarm
You can also create custom color ranges using
vmin
and vmax
:plt.imshow(matrix, cmap='hot', vmin=0.2, vmax=0.8)
---
### 6. Using `matshow()` for Matrix-Like Data
matshow()
is optimized for visualizing 2D arrays:plt.matshow(matrix)
plt.title("Matrix View with matshow()")
plt.colorbar()
plt.show()
---
### 7. Annotating Heatmaps
fig, ax = plt.subplots()
cax = ax.imshow(matrix, cmap='plasma')
# Add text annotations
for i in range(matrix.shape[0]):
for j in range(matrix.shape[1]):
ax.text(j, i, f'{matrix[i, j]:.2f}', ha='center', va='center', color='white')
plt.title("Annotated Heatmap")
plt.colorbar(cax)
plt.show()
---
### 8. Displaying Multiple Images in Subplots
fig, axs = plt.subplots(1, 2, figsize=(10, 4))
axs[0].imshow(matrix, cmap='Blues')
axs[0].set_title("Blues")
axs[1].imshow(matrix, cmap='Greens')
axs[1].set_title("Greens")
plt.tight_layout()
plt.show()
---
### 9. Saving Heatmaps and Figures
plt.imshow(matrix, cmap='magma')
plt.title("Save This Heatmap")
plt.colorbar()
plt.savefig("heatmap.png", dpi=300)
plt.close()
---
### 10. Summary
•
imshow()
and matshow()
visualize 2D data or images• Heatmaps are great for matrix or correlation data
• Use colorbars and annotations to add context
• Customize colormaps with
cmap
, vmin
, vmax
• Save your visualizations easily using
savefig()
---
### Exercise
• Load a grayscale image using NumPy and display it.
• Create a 10×10 heatmap with annotations.
• Display 3 subplots of the same matrix using 3 different colormaps.
• Save one of the heatmaps with high resolution.
---
#Python #Matplotlib #Heatmaps #DataVisualization #Images #ColorMapping
https://yangx.top/DataScienceM
❤6
Topic: Python Matplotlib – From Easy to Top: Part 6 of 6: 3D Plotting, Animation, and Interactive Visuals
---
### 1. Introduction
Matplotlib supports advanced visualizations including:
• 3D plots using
• Animations with
• Interactive plots using widgets and event handling
---
### 2. Creating 3D Plots
You need to import the 3D toolkit:
---
### 3. 3D Line Plot
---
### 4. 3D Surface Plot
---
### 5. 3D Scatter Plot
---
### 6. Creating Animations
Use
---
### 7. Save Animation as a File
Make sure to install
---
### 8. Adding Interactivity with Widgets
---
### 9. Mouse Interaction with Events
---
### 10. Summary
• 3D plots are ideal for visualizing spatial data and surfaces
• Animations help convey dynamic changes in data
• Widgets and events add interactivity for data exploration
• Mastering these tools enables the creation of interactive dashboards and visual storytelling
---
### Exercise
• Plot a 3D surface of
• Create a slider to change frequency of a sine wave in real-time.
• Animate a circle that rotates along time.
• Build a 3D scatter plot of 3 correlated variables.
---
#Python #Matplotlib #3DPlots #Animations #InteractiveVisuals #DataVisualization
https://yangx.top/DataScienceM
---
### 1. Introduction
Matplotlib supports advanced visualizations including:
• 3D plots using
mpl_toolkits.mplot3d
• Animations with
FuncAnimation
• Interactive plots using widgets and event handling
---
### 2. Creating 3D Plots
You need to import the 3D toolkit:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
---
### 3. 3D Line Plot
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
z = np.linspace(0, 15, 100)
x = np.sin(z)
y = np.cos(z)
ax.plot3D(x, y, z, 'purple')
ax.set_title("3D Line Plot")
plt.show()
---
### 4. 3D Surface Plot
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
X = np.linspace(-5, 5, 50)
Y = np.linspace(-5, 5, 50)
X, Y = np.meshgrid(X, Y)
Z = np.sin(np.sqrt(X**2 + Y**2))
surf = ax.plot_surface(X, Y, Z, cmap='viridis')
fig.colorbar(surf)
ax.set_title("3D Surface Plot")
plt.show()
---
### 5. 3D Scatter Plot
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)
ax.scatter(x, y, z, c=z, cmap='plasma')
ax.set_title("3D Scatter Plot")
plt.show()
---
### 6. Creating Animations
Use
FuncAnimation
for animated plots.import matplotlib.animation as animation
fig, ax = plt.subplots()
x = np.linspace(0, 2*np.pi, 128)
line, = ax.plot(x, np.sin(x))
def update(frame):
line.set_ydata(np.sin(x + frame / 10))
return line,
ani = animation.FuncAnimation(fig, update, frames=100, interval=50)
plt.title("Sine Wave Animation")
plt.show()
---
### 7. Save Animation as a File
ani.save("sine_wave.gif", writer='pillow')
Make sure to install
pillow
using:pip install pillow
---
### 8. Adding Interactivity with Widgets
import matplotlib.widgets as widgets
fig, ax = plt.subplots()
plt.subplots_adjust(left=0.1, bottom=0.25)
x = np.linspace(0, 2*np.pi, 100)
freq = 1
line, = ax.plot(x, np.sin(freq * x))
ax_slider = plt.axes([0.25, 0.1, 0.65, 0.03])
slider = widgets.Slider(ax_slider, 'Frequency', 0.1, 5.0, valinit=freq)
def update(val):
line.set_ydata(np.sin(slider.val * x))
fig.canvas.draw_idle()
slider.on_changed(update)
plt.title("Interactive Sine Wave")
plt.show()
---
### 9. Mouse Interaction with Events
def onclick(event):
print(f'You clicked at x={event.xdata:.2f}, y={event.ydata:.2f}')
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6])
fig.canvas.mpl_connect('button_press_event', onclick)
plt.title("Click to Print Coordinates")
plt.show()
---
### 10. Summary
• 3D plots are ideal for visualizing spatial data and surfaces
• Animations help convey dynamic changes in data
• Widgets and events add interactivity for data exploration
• Mastering these tools enables the creation of interactive dashboards and visual storytelling
---
### Exercise
• Plot a 3D surface of
z = cos(sqrt(x² + y²))
.• Create a slider to change frequency of a sine wave in real-time.
• Animate a circle that rotates along time.
• Build a 3D scatter plot of 3 correlated variables.
---
#Python #Matplotlib #3DPlots #Animations #InteractiveVisuals #DataVisualization
https://yangx.top/DataScienceM
❤3
Topic: Python Matplotlib – Important 20 Interview Questions with Answers
---
### 1. What is Matplotlib in Python?
Answer:
Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. It is highly customizable and works well with NumPy and pandas.
---
### 2. What is the difference between `plt.plot()` and `plt.scatter()`?
Answer:
•
•
---
### 3. How do you add a title and axis labels to a plot?
Answer:
---
### 4. How can you create multiple subplots in one figure?
Answer:
Use
---
### 5. How do you save a plot to a file?
Answer:
---
### 6. What is the role of `plt.show()`?
Answer:
It displays the figure window containing the plot. Required for interactive sessions or scripts.
---
### 7. What is a histogram in Matplotlib?
Answer:
A histogram is used to visualize the frequency distribution of numeric data using
---
### 8. What does `plt.figure(figsize=(8,6))` do?
Answer:
It creates a new figure with a specified width and height (in inches).
---
### 9. How do you add a legend to your plot?
Answer:
You must specify
---
### 10. What are some common `cmap` (color map) options?
Answer:
---
### 11. How do you create a bar chart?
Answer:
---
### 12. How can you rotate x-axis tick labels?
Answer:
---
### 13. How do you add a grid to the plot?
Answer:
---
### 14. What is the difference between `imshow()` and `matshow()`?
Answer:
•
•
---
### 15. How do you change the style of a plot globally?
Answer:
---
### 16. How can you add annotations to specific data points?
Answer:
---
### 17. How do you create a pie chart in Matplotlib?
Answer:
---
### 18. How do you plot a heatmap in Matplotlib?
Answer:
---
### 19. Can Matplotlib create 3D plots?
Answer:
Yes. Use:
Then:
---
### 20. How do you add error bars to your data?
Answer:
---
### Exercise
Choose 5 of the above functions and implement a mini-dashboard with line, bar, and pie plots in one figure layout.
---
#Python #Matplotlib #InterviewQuestions #DataVisualization #TechInterview
https://yangx.top/DataScienceM
---
### 1. What is Matplotlib in Python?
Answer:
Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. It is highly customizable and works well with NumPy and pandas.
---
### 2. What is the difference between `plt.plot()` and `plt.scatter()`?
Answer:
•
plt.plot()
is used for line plots.•
plt.scatter()
is used for creating scatter (dot) plots.---
### 3. How do you add a title and axis labels to a plot?
Answer:
plt.title("My Plot")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
---
### 4. How can you create multiple subplots in one figure?
Answer:
Use
plt.subplots()
to create a grid layout of subplots.fig, axs = plt.subplots(2, 2)
---
### 5. How do you save a plot to a file?
Answer:
plt.savefig("myplot.png", dpi=300)
---
### 6. What is the role of `plt.show()`?
Answer:
It displays the figure window containing the plot. Required for interactive sessions or scripts.
---
### 7. What is a histogram in Matplotlib?
Answer:
A histogram is used to visualize the frequency distribution of numeric data using
plt.hist()
.---
### 8. What does `plt.figure(figsize=(8,6))` do?
Answer:
It creates a new figure with a specified width and height (in inches).
---
### 9. How do you add a legend to your plot?
Answer:
plt.legend()
You must specify
label='something'
in your plot function.---
### 10. What are some common `cmap` (color map) options?
Answer:
'viridis'
, 'plasma'
, 'hot'
, 'coolwarm'
, 'gray'
, 'jet'
, etc.---
### 11. How do you create a bar chart?
Answer:
plt.bar(categories, values)
---
### 12. How can you rotate x-axis tick labels?
Answer:
plt.xticks(rotation=45)
---
### 13. How do you add a grid to the plot?
Answer:
plt.grid(True)
---
### 14. What is the difference between `imshow()` and `matshow()`?
Answer:
•
imshow()
is general-purpose for image data.•
matshow()
is optimized for 2D matrices and auto-configures the axes.---
### 15. How do you change the style of a plot globally?
Answer:
plt.style.use('ggplot')
---
### 16. How can you add annotations to specific data points?
Answer:
plt.annotate('label', xy=(x, y), xytext=(x+1, y+1), arrowprops=dict(arrowstyle='->'))
---
### 17. How do you create a pie chart in Matplotlib?
Answer:
plt.pie(data, labels=labels, autopct='%1.1f%%')
---
### 18. How do you plot a heatmap in Matplotlib?
Answer:
plt.imshow(matrix, cmap='hot')
plt.colorbar()
---
### 19. Can Matplotlib create 3D plots?
Answer:
Yes. Use:
from mpl_toolkits.mplot3d import Axes3D
Then:
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
---
### 20. How do you add error bars to your data?
Answer:
plt.errorbar(x, y, yerr=errors, fmt='o')
---
### Exercise
Choose 5 of the above functions and implement a mini-dashboard with line, bar, and pie plots in one figure layout.
---
#Python #Matplotlib #InterviewQuestions #DataVisualization #TechInterview
https://yangx.top/DataScienceM
❤4👍1