Matplotlib 折线图
可以使用 Matplotlib 中的 plot()
函数创建折线图。虽然我们可以只绘制一条线,但它能做的并不仅限于此。我们可以明确的定义网格、x 和 y 轴比例以及标签、标题和显示选项。
折线图示例
下面的示例将创建折线图。
from pylab import *
t = arange(0.0, 2.0, 0.01)
s = sin(2.5*pi*t)
plot(t, s)
xlabel('time (s)')
ylabel('voltage (mV)')
title('Sine Wave')
grid(True)
show()
输出:
![Matplotlib 折线图](/img/Tutorial/Matplotlib/Matplotlib line chart.svg)
正弦表示,
from pylab import *
t = arange(0.0, 2.0, 0.01)
s = sin(2.5*pi*t)
只需定义要绘制的数据。
from pylab import *
t = arange(0.0, 2.0, 0.01)
s = sin(2.5*pi*t)
plot(t, s)
show()
绘制图表。其他语句解释一下,语句 xlabel()
设置 x 轴文本,ylabel()
设置 y 轴文本,title()
设置图表标题,grid(True)
是在图中打开网格。
如果要将绘图保存到硬盘,请调用以下语句:
savefig("line_chart.png")
绘制自定义折线图
如果要使用数组(列表)进行绘图,可以执行以下脚本:
from pylab import *
t = arange(0.0, 20.0, 1)
s = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
plot(t, s)
xlabel('Item (s)')
ylabel('Value')
title('Python Line Chart: Plotting numbers')
grid(True)
show()
下面的这句话,定义从 0 开始,绘制 20 个元素(我们的数组的长度),步长为 1。
t = arange(0.0, 20.0, 1)
输出:
![列表中的 Python 折线图](/img/Tutorial/Matplotlib/Matplotlib line chart from list.svg)
一个图中多条线
如果要在一个图表中绘制多条线,只需多次调用 plot()
函数即可。举一个例子:
from pylab import *
t = arange(0.0, 20.0, 1)
s = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
s2 = [4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
plot(t, s)
plot(t, s2)
xlabel('Item (s)')
ylabel('Value')
title('Python Line Chart: Plotting numbers')
grid(True)
show()
输出:
![python 多条折线图](/img/Tutorial/Matplotlib/Matplotlib multiple line charts.svg)
Matplotlib subplot 子图
如果你想在同一窗口中的不同视图中绘制它们,你可以使用[subplot()
]({{ <relref “/Tutorial/Matplotlib/Matplotlib subplot.md” > }})
import matplotlib.pyplot as plt
from pylab import *
t = arange(0.0, 20.0, 1)
s = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
s2 = [4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
plt.subplot(2, 1, 1)
plt.plot(t, s)
plt.ylabel('Value')
plt.title('First chart')
plt.grid(True)
plt.subplot(2, 1, 2)
plt.plot(t, s2)
plt.xlabel('Item (s)')
plt.ylabel('Value')
plt.title('Second chart')
plt.grid(True)
plt.show()
输出:
![Python 子图](/img/Tutorial/Matplotlib/Matplotlib subplots.svg)
plt.subplot()
语句在这里很关键。subplot()
命令指定子图行数,列数和要绘制的子图的编号。
线条样式
如果想要粗线或设置颜色,请使用:
plot(t, s, color="red", linewidth=2.5, linestyle="-")