Matplotlib Python 中的线型


在任何线图中,线的视觉效果都会受到线型(也称为 linestyle)的影响。Python 的 Matplotlib 模块提供了各种线型,以增强绘图的视觉吸引力。本文全面介绍了在 Matplotlib Python 中使用线型的方法,并提供了清晰简洁的示例。

了解 Matplotlib 中的线型

Matplotlib 中的线型定义了可以绘制的线的图案。实线、虚线、点划线和点线是一些最常用的线型。通过使用不同的线型,您可以使您的绘图更清晰、更具信息性。

开始使用 Matplotlib 线型

首先,检查您的 Python 环境中是否已加载 Matplotlib 模块。如果没有,可以使用 pip 进行安装 -

pip install matplotlib

导入所需的库 -

import matplotlib.pyplot as plt

示例 1:基本线型

让我们从一些简单的线型示例开始

import numpy as np

# Define a simple range of values for x and reshape so it can be used in multiple plots
x = np.linspace(0, 10, 1000).reshape(-1,1)

# Set up the figure and axis
fig, ax = plt.subplots(1,1, figsize=(10,6))

# solid line style
ax.plot(x, np.sin(x), linestyle='-', label='solid')

# dashed line style
ax.plot(x, np.cos(x), linestyle='--', label='dashed')

# dashdot line style
ax.plot(x, -np.sin(x), linestyle='-.', label='dashdot')

# dotted line style
ax.plot(x, -np.cos(x), linestyle=':', label='dotted')

ax.legend()

plt.show()

本例中使用 plot() 方法绘制了四种不同的线型('-', '--', '-.' 和 ':')。

示例 2:线型简写代码

此外,Matplotlib 为大多数常用的线型提供了单字母简写代码 -

Additionally, Matplotlib offers one-letter shortcodes for the majority of common line styles:
fig, ax = plt.subplots(1,1, figsize=(10,6))

# solid line style
ax.plot(x, np.sin(x), linestyle='-', label='solid')

# dashed line style
ax.plot(x, np.cos(x), linestyle='d', label='dashed')

# dashdot line style
ax.plot(x, -np.sin(x), linestyle='-.', label='dashdot')

# dotted line style
ax.plot(x, -np.cos(x), linestyle=':', label='dotted')

ax.legend()

plt.show()

本例使用了单字母简写代码,但仍然使用了与之前相同的线型。

示例 3:带有自定义间距的线型

要指定虚线图案,您可以使用元组定义自己的线型

fig, ax = plt.subplots(1,1, figsize=(10,6))

# Define custom line styles
line_styles = [(0, (1, 10)), (0, (1, 1)), (0, (5, 10)), (0, (5, 5))]

for i, style in enumerate(line_styles, start=1):
   ax.plot(x, i * np.sin(x), linestyle=style, label=f'line style {i}')

ax.legend()

plt.show()

每个元组定义一个线型。元组中的第一个值是偏移量。第二个值是一个元组,指定虚线和间距的长度。

示例 4:将线型与颜色结合使用

您还可以将不同的颜色和线型结合使用,使您的绘图更有趣、更具指导意义。

fig, ax = plt.subplots(1,1, figsize=(10,6))

ax.plot(x, np.sin(x), linestyle='-', color='blue', label='solid blue')
ax.plot(x, np.cos(x), linestyle='--', color='red', label='dashed red')
ax.plot(x, -np.sin(x), linestyle='-.', color='green', label='dashdot green')
ax.plot(x, -np.cos(x), linestyle=':', color='purple', label='dotted purple')

ax.legend()

plt.show()

在本例中,每种线型都与不同的颜色混合。

示例 5:线型和标记的组合

可以将标记和线型组合起来创建更复杂的可视化效果

fig, ax = plt.subplots(1,1, figsize=(10,6))

# Define a smaller range for x
x = np.linspace(0, 10, 10)

ax.plot(x, np.sin(x), linestyle='-', marker='o', label='solid with marker')
ax.plot(x, np.cos(x), linestyle='--', marker='x', label='dashed with marker')

ax.legend()

plt.show()

此图中每个数据点都有标记,以及各种线型。

结论

Matplotlib 的线型是一个关键特性,对于区分不同的数据集以及提高整体绘图的可读性至关重要。您可以选择各种选项,使用简单的线型、将它们与颜色和标记结合起来,或者创建自己的自定义设计。

始终牢记,准确的数据可视化不仅仅是在图表上绘制数据。它还包括讲述一个易于理解的故事。通过成为 Matplotlib 线型专家,您将离创建有趣且有意义的数据故事更近一步。

更新于: 2023年7月18日

951 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告