How to Change the Line Width of a Graph Plot in Matplotlib?

Matplotlib is one of Python's most popular libraries for data visualization, offering extensive customization options for creating appealing and informative plots. One common customization is changing the line width of graph plots, which controls the thickness of lines connecting plot points.

In this article, we will explore three different methods to change line width in Matplotlib plots:

  • Using the linewidth parameter

  • Using the setp() function

  • Using the set_linewidth() method

Basic Line Plot in Matplotlib

Let's start with creating a simple line plot using Matplotlib ?

import matplotlib.pyplot as plt

x = [2, 4, 6, 8, 10]
y = [10, 8, 4, 6, 2]

plt.plot(x, y)
plt.title('Basic Line Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()

Method 1: Using the linewidth Parameter

The most straightforward way to change line width is using the linewidth parameter directly in the plot() function ?

import matplotlib.pyplot as plt

x = [10, 15, 20, 25]
y = [30, 40, 50, 60]

plt.plot(x, y, label='Thick Line', linewidth=5)
plt.plot(x, [i-10 for i in y], label='Normal Line', linewidth=1)

plt.title('Comparing Line Widths')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.legend()
plt.show()

Method 2: Using the setp() Function

The setp() function is a general-purpose function for setting multiple properties of matplotlib objects, including line width ?

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.cos(x)

line, = plt.plot(x, y)
plt.setp(line, linewidth=4, color='red')

plt.title('Using setp() Function')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.legend(['Cosine Wave'])
plt.show()

Method 3: Using set_linewidth() Method

You can also modify line width after creating the plot using the set_linewidth() method on line objects ?

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

fig, ax = plt.subplots()
line1, = ax.plot(x, y1, label='sin(x)')
line2, = ax.plot(x, y2, label='cos(x)')

# Set different line widths
line1.set_linewidth(2)
line2.set_linewidth(6)

plt.title('Multiple Lines with Different Widths')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.legend()
plt.show()

Comparison of Methods

Method When to Use Flexibility
linewidth parameter Setting width during plot creation Basic
setp() function Setting multiple properties at once High
set_linewidth() Modifying existing plots Medium

Conclusion

Matplotlib offers multiple ways to control line width in plots. Use the linewidth parameter for simple cases, setp() for setting multiple properties, and set_linewidth() for modifying existing plots. These methods give you complete control over the visual appearance of your data visualizations.

Updated on: 2026-04-02T17:13:28+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements