Plot Multiple lines in Matplotlib
0 1794
Introduction
Visualizing multiple datasets simultaneously can provide deeper insights into their relationships. In Python, the matplotlib library offers robust tools for plotting multiple lines on the same graph. This guide explores various methods to achieve this, enhancing your data visualization capabilities.
Plotting Multiple Lines Using Multiple plot() Calls
One straightforward approach is to make several calls to plt.plot(), each representing a different dataset. This method allows for fine-grained control over each line's appearance.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='Sine Wave')
plt.plot(x, y2, label='Cosine Wave')
plt.legend()
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Multiple Lines Using Multiple plot() Calls')
plt.show()
Plotting Multiple Lines Using a Single plot() Call
Alternatively, you can pass multiple x and y pairs to a single plt.plot() call. This method is concise but offers less flexibility for individual line customization.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, x, y2)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Multiple Lines Using a Single plot() Call')
plt.show()
Plotting Multiple Lines Using plt.subplots()
For more complex visualizations, plt.subplots() allows you to create multiple subplots within a single figure. This method is useful when comparing different datasets side by side.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.plot(x, y1)
ax1.set_title('Sine Wave')
ax2.plot(x, y2)
ax2.set_title('Cosine Wave')
plt.tight_layout()
plt.show()
Customizing Line Styles and Markers
Matplotlib provides various options to customize the appearance of lines, including color, line style, and markers.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='Sine Wave', color='r', linestyle='-', marker='o')
plt.plot(x, y2, label='Cosine Wave', color='b', linestyle='--', marker='x')
plt.legend()
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Customized Line Styles and Markers')
plt.show()
Conclusion
Plotting multiple lines in Matplotlib is a powerful way to compare datasets. Whether you choose to overlay lines on a single plot or use subplots for side-by-side comparisons, Matplotlib's flexibility allows you to create clear and informative visualizations.
For dedicated UPSC exam preparation, we highly recommend visiting www.iasmania.com. It offers well-structured resources, current affairs, and subject-wise notes tailored specifically for aspirants. Start your journey today!
Share:



Comments
Waiting for your comments