Lesson 4
Basic Plotting with Matplotlib
Lesson Overview

In today's lesson, we'll immerse ourselves in the world of Basic Plotting with Matplotlib. You'll learn how to create basic line plots to visualize Tesla's ($TSLA) stock data. This lesson is essential as visualizing financial data is crucial for identifying trends and making informed trading decisions. By the end of this lesson, you'll be proficient in plotting data using Matplotlib, customizing plots, and interpreting the results.

Introduction to Matplotlib

Matplotlib is a powerful plotting library in Python that allows developers to create a wide variety of static, animated, and interactive plots. It's widely used in data visualization because of its simplicity and versatility.

Why Matplotlib?

  • Versatility: Matplotlib can be used to create plots ranging from simple line charts to complex 3D plots.
  • Customization: Almost every aspect of a Matplotlib plot can be customized.
  • Integration: It works well with Pandas, making it easy to visualize DataFrame data.

To get started with Matplotlib, you need to import the pyplot module:

Python
1import matplotlib.pyplot as plt
Preparing Data for Visualization

Before plotting, we need to prepare our Tesla stock data.

Loading the Tesla Dataset: We'll use the load_dataset function from the datasets library to load Tesla's historic price data:

Python
1import pandas as pd 2from datasets import load_dataset 3 4# Load TSLA dataset 5tesla_data = load_dataset('codesignal/tsla-historic-prices') 6tesla_df = pd.DataFrame(tesla_data['train'])

Converting Dates to Datetime Objects: To handle the time series data correctly, we need to convert the 'Date' column to datetime format:

Python
1tesla_df['Date'] = pd.to_datetime(tesla_df['Date'])

Setting Date as Index: Next, we'll set the 'Date' column as the index of our DataFrame and sort it:

Python
1tesla_df.set_index('Date', inplace=True) 2tesla_df.sort_index(inplace=True)

At this point, our DataFrame is ready for plotting.

Creating Basic Line Plots

Now that our data is prepared - let's create a basic line plot.

Using Matplotlib, we can plot the 'Close' prices against dates:

Python
1plt.plot(tesla_df.index, tesla_df['Close'])

In the plt.plot() function:

  • tesla_df.index: Represents the x-axis data, which, in this case, is the dates from the DataFrame index.
  • tesla_df['Close']: Represents the y-axis data, which are the closing prices from the 'Close' column of the DataFrame.

It's also essential to add titles and labels to make our plot more informative:

Python
1plt.title('TSLA Closing Price Over Time') 2plt.xlabel('Date') 3plt.ylabel('Price (USD)')

On top of that, adding a legend helps identify what the plotted line represents:

Python
1plt.legend(['Close Price'])
Customizing Plots

Customizing plots improves their readability and aesthetic appeal.

We can adjust the figure size to ensure that our plots are well-proportioned. The figsize parameter takes a tuple (width, height) in inches. For example, figsize=(10, 5) creates a figure that is 10 inches wide and 5 inches tall. This helps in setting the size of the plot for better visualization:

Python
1plt.figure(figsize=(10, 5))

Customizing line colors and styles makes plots visually appealing:

Python
1plt.plot(tesla_df.index, tesla_df['Close'], color='blue', linestyle='-', linewidth=2)

Grid lines can make it easier to read the plot:

Python
1plt.grid(True)

To render the plotted graph, we use:

Python
1plt.show()
Displaying and Interpreting Plots

Let's complete our plot and see the final result.

Here is the final code:

Python
1import matplotlib.pyplot as plt 2import pandas as pd 3from datasets import load_dataset 4 5# Load TSLA dataset 6tesla_data = load_dataset('codesignal/tsla-historic-prices') 7tesla_df = pd.DataFrame(tesla_data['train']) 8 9# Convert 'Date' column to datetime 10tesla_df['Date'] = pd.to_datetime(tesla_df['Date']) 11 12# Set 'Date' as index and sort it 13tesla_df.set_index('Date', inplace=True) 14tesla_df.sort_index(inplace=True) 15 16# Plot the 'Close' prices 17plt.figure(figsize=(10, 5)) 18plt.plot(tesla_df.index, tesla_df['Close'], color='blue', linestyle='-', linewidth=2) 19 20# Add titles and labels 21plt.title('TSLA Closing Price Over Time') 22plt.xlabel('Date') 23plt.ylabel('Price (USD)') 24 25# Add legend and grid 26plt.legend(['Close Price']) 27plt.grid(True) 28 29# Display the plot 30plt.show()

The output of the above code is a line graph displaying Tesla's closing stock prices over time. The clear, blue line plotted against the dates helps in identifying trends, highs and lows in Tesla's stock price.

Now, let's discuss what our plot tells us. By visualizing the closing prices over time, we can identify trends and patterns in Tesla's stock price. This could include periods of rapid growth, declines, or prolonged stability.

Lesson Summary

In this lesson, you learned how to use Matplotlib to visualize Tesla's ($TSLA) stock data. You covered the basics of importing and setting up Matplotlib, preparing data for visualization, creating basic line plots, and customizing plots for better readability. These skills are crucial for conducting financial analyses and making informed trading decisions.

Next, dive into practice exercises to solidify these concepts. Visualizing stock prices efficiently is crucial for identifying trends and making informed trading decisions. Efficient data plotting strengthens your analytical skills, making you a more effective machine learning engineer and financial analyst. Let's get plotting!

Enjoy this lesson? Now it's time to practice with Cosmo!
Practice is how you turn knowledge into actual skills.