Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to change color of graph in matplotlib

Understanding Matplotlib and Graph Customization

Matplotlib is a widely used Python library for creating static, interactive, and animated visualizations. When you begin your journey into programming, especially in data science, you'll often hear about Matplotlib. It's like the Swiss Army knife for data visualization in Python.

Imagine Matplotlib as your paint palette, where you have an array of colors and tools to bring your data to life. The library allows you to tweak almost every aspect of your plots and charts, making your data more readable and presentable. One of the fundamental customizations you can perform is changing the color of a graph, which we'll focus on in this blog.

The Basics of Plotting with Matplotlib

Before we dive into changing colors, let's start with how to create a simple graph. Think of it as drawing a line on a blank canvas. You define the points through which the line passes and Matplotlib does the rest, connecting the dots to form a line graph.

Here's a basic example of plotting a simple line graph:

import matplotlib.pyplot as plt

# Data for plotting
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]

# Plotting the line
plt.plot(x, y)

# Display the graph

Running this code will give you a simple line graph. By default, Matplotlib chooses a color for the line. But what if you want to choose your own color?

Changing the Color of a Line Graph

To change the color of the line in a line graph, you can use the color parameter in the plot() function. The color parameter accepts several types of inputs:

  • A string (like 'green' or 'blue')
  • Hexadecimal color codes (like '#00FF00' for green)
  • RGB or RGBA tuples (like (0, 1, 0, 1) for green)

Here's how you can change the color to green:

plt.plot(x, y, color='green')

Or using a hexadecimal color code:

plt.plot(x, y, color='#00FF00')

Visualizing with Different Color Spaces

Colors can be a bit more complex than just names or hex codes. When we talk about color spaces, it's like discussing the different languages of color. RGB, which stands for Red, Green, and Blue, is one such language that computers and screens use to create a spectrum of colors. Each value in an RGB tuple ranges from 0 to 1, where 0 is no color and 1 is full intensity.

Here's an example using an RGB tuple:

plt.plot(x, y, color=(0, 1, 0))  # Full intensity green

Setting the Mood with Colors

Colors can convey emotions and set the mood for your graph. For example, red can indicate danger or urgency, while blue can feel calming. When choosing colors for your graph, think about what you want your audience to feel and understand at a glance.

Using Colormaps for More Advanced Coloring

What if you have more than a line, say, a scatter plot or a heatmap, and you want to use a range of colors? Matplotlib has a feature called colormaps that can help with this. A colormap is a sequence of colors that Matplotlib can apply to a series of data points. Some common colormaps are 'viridis', 'plasma', 'inferno', 'magma', and 'cividis'.

Here's an example of how to use a colormap with a scatter plot:

import numpy as np

# Random data for the scatter plot
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)

# Plotting with a colormap
plt.scatter(x, y, c=colors, cmap='viridis')
plt.colorbar()  # To show the color scale

Customizing Bar Graphs and Histograms

When dealing with bar graphs or histograms, you can also change the color in a similar fashion. Here's a quick example of changing the color of the bars in a bar graph:

# Data for the bar graph
categories = ['A', 'B', 'C', 'D']
values = [10, 20, 15, 5]

# Plotting the bar graph, values, color='skyblue')

Adding a Splash of Color to Pie Charts

Pie charts are another type of graph where color plays a crucial role. Each slice can have a different color to represent different categories. Here's how you can customize the colors in a pie chart:

# Data for the pie chart
labels = ['Apples', 'Bananas', 'Cherries', 'Dates']
sizes = [15, 30, 45, 10]

# Colors for each slice
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']

# Plotting the pie chart
plt.pie(sizes, labels=labels, colors=colors)
plt.axis('equal')  # Equal aspect ratio ensures the pie chart is circular.

Conclusion: Painting with Data

As you can see, changing the color of graphs in Matplotlib is like adding different hues to your canvas. It's a simple yet powerful way to make your visualizations more informative and engaging. By understanding how to manipulate colors, you can guide your audience's attention to the most important parts of your data story.

The examples provided are your stepping stones to creating vibrant and meaningful data visualizations. As you continue to learn and experiment, you'll discover that there's an entire spectrum of possibilities waiting for you. So go ahead, paint your data in the colors that best tell its story.