matplotlib lineplot

matplotlib lineplot

参考:matplotlib lineplot

在数据可视化领域,matplotlib是一个广泛使用的Python库,它可以用来制作各种类型的图表,其中包括线图。线图是一种常用的图表类型,用于展示数据随着时间或其他变量的变化趋势。在本文中,我们将详细介绍如何使用matplotlib制作线图,并提供一些示例代码。

示例1:简单的线图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们定义了两个列表xy,分别表示x轴和y轴上的数据点。然后使用plt.plot()函数绘制了这些点,并通过plt.show()函数显示了图表。

示例2:自定义线条颜色和样式

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y, color='red', linestyle='--')
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们通过color参数指定了线条的颜色为红色,通过linestyle参数指定了线条的样式为虚线。

示例3:添加标签和标题

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.title('简单线图')
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们通过plt.xlabel()plt.ylabel()函数添加了x轴和y轴的标签,通过plt.title()函数添加了图表的标题。

示例4:添加网格线

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.grid(True)
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们通过plt.grid(True)函数添加了网格线。

示例5:绘制多条线

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]

plt.plot(x, y1)
plt.plot(x, y2)
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们绘制了两条线,分别是y1y2,通过多次调用plt.plot()函数实现。

示例6:设置线宽和透明度

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y, linewidth=2, alpha=0.5)
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们通过linewidth参数设置了线宽为2,通过alpha参数设置了透明度为0.5。

示例7:绘制不同样式的线

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]

plt.plot(x, y1, linestyle='-', marker='o')
plt.plot(x, y2, linestyle='--', marker='x')
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们为两条线分别指定了不同的线型和标记样式。

示例8:绘制带标记的线

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y, marker='o', markerfacecolor='red', markeredgewidth=2)
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们通过marker参数指定了标记的样式为圆圈,通过markerfacecolor参数指定了标记的填充颜色,通过markeredgewidth参数指定了标记的边框宽度。

示例9:使用不同的颜色映射

import matplotlib.pyplot as plt
import numpy as np

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

plt.scatter(x, y, c=y, cmap='viridis')
plt.colorbar()
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用plt.scatter()函数绘制了散点图,并通过c参数指定了颜色映射的数据,通过cmap参数指定了颜色映射的颜色。

示例10:绘制带误差线的线图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
error = [0.1, 0.2, 0.3, 0.4, 0.5]

plt.errorbar(x, y, yerr=error, fmt='-o')
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用plt.errorbar()函数绘制了带误差线的线图,通过yerr参数指定了误差值,通过fmt参数指定了线条的样式和标记的样式。

示例11:绘制多个子图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]

plt.subplot(2, 1, 1)
plt.plot(x, y1)

plt.subplot(2, 1, 2)
plt.plot(x, y2)

plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用plt.subplot()函数创建了两个子图,分别绘制了y1y2

示例12:绘制水平线和垂直线

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.axhline(y=5, color='red', linestyle='--')
plt.axvline(x=2, color='blue', linestyle='-.')
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用plt.axhline()函数绘制了水平线,使用plt.axvline()函数绘制了垂直线。

示例13:绘制面积图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.fill_between(x, y, color='skyblue', alpha=0.5)
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用plt.fill_between()函数绘制了面积图,通过color参数指定了填充颜色,通过alpha参数指定了填充的透明度。

示例14:绘制日期数据

import matplotlib.pyplot as plt
import pandas as pd

dates = pd.date_range('20220101', periods=5)
values = [2, 4, 6, 8, 10]

plt.plot(dates, values)
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用pandas生成了日期数据,然后直接在线图中绘制了日期数据。

示例15:绘制对数坐标轴

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.1, 10, 100)
y = np.exp(x)

plt.plot(x, y)
plt.yscale('log')
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用plt.yscale('log')函数将y轴设置为对数坐标轴。

示例16:绘制双y轴线图

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 = plt.subplots()

ax1.plot(x, y1, 'b-')
ax1.set_xlabel('X轴')
ax1.set_ylabel('sin(X)', color='b')

ax2 = ax1.twinx()
ax2.plot(x, y2, 'r-')
ax2.set_ylabel('cos(X)', color='r')

plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用plt.subplots()函数创建了一个包含两个y轴的图表,并分别绘制了y1y2

示例17:绘制堆叠线图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]

plt.stackplot(x, y1, y2)
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用plt.stackplot()函数绘制了堆叠线图,将y1y2堆叠在一起显示。

示例18:绘制阶跃线图

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 0, 1, 0, 1]

plt.step(x, y)
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用plt.step()函数绘制了阶跃线图,显示了在不同时间点的变化。

示例19:绘制极坐标线图

import matplotlib.pyplot as plt
import numpy as np

theta = np.linspace(0, 2*np.pi, 100)
r = np.sin(3*theta)

plt.polar(theta, r)
plt.show()

Output:

matplotlib lineplot

在这个示例中,我们使用plt.polar()函数绘制了极坐标线图,展示了极坐标下的数据变化。

示例20:绘制动画线图

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation

fig, ax = plt.subplots()
x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin(x))

def animate(i):
    line.set_ydata(np.sin(x + i/10.0))
    return line,

ani = animation.FuncAnimation(fig, animate, frames=100, interval=20)
plt.show()

在这个示例中,我们使用matplotlib.animation模块创建了一个动画线图,展示了sin函数随着时间的变化。

通过以上示例,我们详细介绍了如何使用matplotlib制作线图,包括基本线图的绘制、线条样式的自定义、标签和标题的添加、网格线的显示、多条线的绘制、误差线的绘制等功能。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程