Matplotlib Tutorial - Line Chart
We start from plotting the basic chart type - line chart. plot
could easily plot out lines like Linear line or curved line, and also have different configuration such as colors, width, marker size, etc.
Matplotlib Linear Line
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 9, 10)
y = 2 * x
plt.plot(x, y, "b-")
plt.show()
It plots the line of y=2*x
, where x is in the range between 0 and 9.
plt.plot(x, y, "b-")
It plots the data of x
and y
with a line style of b
- blue color and -
- solid line.
Matplotlib Curved Line
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 4 * np.pi, 1000)
y = np.sin(x)
plt.plot(x, y, "r--")
plt.show()
It generates a sinusoidal waveform, and has the line style as color red - r
and dashed line - --
.
Matplotlib Line Type
You could change the line type like width, color and line-style with different input arguments in plt.plot()
function.
matplotlib.pyplot.plot(*args, **kwargs)
Parameters
Name | Descritpion |
---|---|
x, y |
The horizontal / vertical coordinates of the data points |
fmt |
A format string, e.g. b- for blue solid line. |
**kwargs
Property | Description |
---|---|
color or c |
any matplotlib color |
figure |
a Figure instance |
label |
object |
linestyle or ls |
[‘solid’ | ‘dashed’, ‘dashdot’, ‘dotted’ | (offset, on-off-dash-seq) | '-' ] |
linewidth or lw |
line width in points |
marker |
A valid marker style |
markersize or ms |
float |
xdata |
1D array |
ydata |
1D array |
zorder |
float |
Line Color
You have some methods to name the color in the color
argument.
Single Letter Alias
The basic built-in colors have the alias as below,
Alias | Color |
---|---|
b |
blue |
g |
green |
r |
red |
c |
cyan |
m |
magenta |
y |
yellow |
k |
black |
w |
white |
HTML Hex String
You could pass an valid html hex string to the color
parameter, like
color = "#f44265"
RGB Tuple
You could also specify the color using an R,G,B
tuple, where R, G, B value are in the range of [0, 1]
instead of normal range of [0, 255]
.
The color represented with html hex string above has the RGB
value of (0.9569, 0.2588, 0.3891)
.
color = (0.9569, 0.2588, 0.3891)
Line Style
Matplotlib has 4 built-in line styles,
Line Style | |
---|---|
- |
|
-- |
|
: |
|
:- |
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 4 * np.pi, 1000)
for index, line_style in enumerate(["-", "--", ":", "-."]):
y = np.sin(x - index * np.pi / 2)
plt.plot(x, y, "k", linestyle=line_style, lw=2)
plt.title("Line Style")
plt.grid(True)
plt.show()
Line Width
You could specify the line width with the parameter linewidth
as in
linewidth = 2 # unit is points
or simply use its abbreviation,
lw = 2
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 20, 21)
for line_width in [0.5, 1, 2, 4, 8]:
y = line_width * x
plt.plot(x, y, "k", linewidth=line_width)
plt.title("Line Width")
plt.grid(True)
plt.show()
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook