Matplotlib 线型样式

Matplotlib 线型样式

参考:line style matplotlib

Matplotlib 是一个用于数据可视化的 Python 库,可以创建各种类型的图表和图形。线型样式是在 Matplotlib 中绘制线条时常用的属性之一,通过指定不同的线型样式可以让图表具有更好的可视效果。本文将为大家详细介绍 Matplotlib 中常见的线型样式,帮助大家更好地进行数据可视化工作。

简介

在线 Matplotlib 中可以通过 linestyle 参数来设置线型样式,常用的线型包括实线、虚线、点线、点划线等。可以通过字符串形式或者符号来指定不同的线型样式。下面我们将通过示例代码来演示具体的使用方法。

实线

实线是最常见的线型样式,用于绘制直线和曲线。在 Matplotlib 中,可以通过 solid 或者 - 符号来表示实线。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='solid')
plt.show()

Output:

Matplotlib 线型样式

虚线

虚线可以在图表中突出显示某种模式。在 Matplotlib 中,可以通过 dashed 或者 -- 符号来表示虚线。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dashed')
plt.show()

Output:

Matplotlib 线型样式

点线

点线是由一系列短线段组成的线型样式,用于绘制离散的数据点。在 Matplotlib 中,可以通过 dotted 或者 : 符号来表示点线。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dotted')
plt.show()

Output:

Matplotlib 线型样式

点划线

点划线是由一系列点和短线组成的线型样式,可以用于绘制线条和图案。在 Matplotlib 中,可以通过 dashdot 或者 -. 符号来表示点划线。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dashdot')
plt.show()

Output:

Matplotlib 线型样式

自定义线型

除了上述常用的线型样式外,Matplotlib 还支持用户自定义线型。可以通过自定义线型样式列表来实现。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle=(0, (1, 10)))
plt.show()

Output:

Matplotlib 线型样式

组合线型样式

在 Matplotlib 中,还可以将不同的线型样式进行组合,创建更加独特的线条效果。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dashed', marker='o', markersize=5)
plt.show()

Output:

Matplotlib 线型样式

设置线宽

除了线型样式外,还可以通过 linewidth 参数来设置线条的宽度。可以为线条指定不同的粗细程度,使得图表更加清晰。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='solid', linewidth=2)
plt.show()

Output:

Matplotlib 线型样式

隐藏线条

有时候我们希望在图表中只显示数据点而不显示线条,可以通过 linestyle='None' 来隐藏线条。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='None', marker='o', markersize=5)
plt.show()

Output:

Matplotlib 线型样式

调整线型样式

在 Matplotlib 中,还可以通过 set_dashes 方法来调整线型样式。可以为线条设置不同长度和间隔的短线段,创建出更加细致的线型效果。示例代码如下:

import matplotlib.pyplot as plt

line, = plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='-')
line.set_dashes([5, 10, 20, 10])  # 给线条设置不同长度和间隔
plt.show()

Output:

Matplotlib 线型样式

叠加线条

在 Matplotlib 中,还可以将多条线条叠加显示在同一个图表中。可以通过多次调用 plot 方法来实现。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y1 = [1, 4, 9, 16]
y2 = [2, 5, 10, 17]

plt.plot(x, y1, linestyle='dashed')
plt.plot(x, y2, linestyle='dotted')
plt.show()

Output:

Matplotlib 线型样式

设置线条颜色

在 Matplotlib 中,还可以通过 color 参数来设置线条的颜色。可以指定不同的颜色值,使得图表更加美观。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dashed', color='r')
plt.show()

Output:

Matplotlib 线型样式

设置线条透明度

除了设置线条颜色外,还可以通过 alpha 参数来设置线条的透明度。可以指定不同的透明度值,使得线条呈现出半透明的效果。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dashed', alpha=0.5)
plt.show()

Output:

Matplotlib 线型样式

隐藏坐标轴

有时候我们希望绘制一个简洁的图表,不显示坐标轴和标签。可以通过 axis('off') 来隐藏坐标轴。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dashed', color='b')
plt.axis('off')  # 隐藏坐标轴
plt.show()

Output:

Matplotlib 线型样式

添加图例

在图表中添加图例可以更好地说明数据的含义。可以通过 legend 方法来添加图例,并指定位置。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dashed', color='g', label='line 1')
plt.legend(loc='upper right')
plt.show()

Output:

Matplotlib 线型样式

设置线型样式全局默认值

在 Matplotlib 中,还可以通过 rcParams 参数来设置线型样式的全局默认值,使得在整个图表中都使用相同的线型样式。示例代码如下:

import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams['lines.linestyle'] = '--'

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()

Output:

Matplotlib 线型样式

隐藏图表边框

有时候我们希望绘制一个简洁的图表,不显示图表边框。可以通过 spines 来隐藏图表边框。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dashed', color='r')
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['right'].set_visible(False)
plt.gca().spines['left'].set_visible(False)
plt.gca().spines['bottom'].set_visible(False)
plt.show()

Output:

Matplotlib 线型样式

设置线型样式在子图中

在 Matplotlib 中,还可以在子图中设置不同的线型样式。可以通过 subplot 方法来创建子图,并在子图中设置线型样式。示例代码如下:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(1, 2)
ax[0].plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dashed', color='b')
ax[1].plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dotted', color='g')
plt.show()

Output:

Matplotlib 线型样式

使用不同风格

Matplotlib 提供了多种预定义的图表风格,可以通过 style 参数来应用不同的风格。示例代码如下:

import matplotlib.pyplot as plt

plt.style.use('ggplot')

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()

Output:

Matplotlib 线型样式

自定义线型样式

除了预定义的线型样式外,还可以通过 set_linestyle 方法来自定义线型样式。可以为线条设置不同的线性和标记,实现更加独特的效果。示例代码如下:

import matplotlib.pyplot as plt

line, = plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
line.set_linestyle((0, (5, 10)))
plt.show()

Output:

Matplotlib 线型样式

连接不连续的点

有时候数据可能存在缺失,需要连接不连续的数据点。可以通过 connectstyle 方法来设置连接方式。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, None, 9, 16], linestyle='solid', marker='o', connectstyle='arc3')
plt.show()

设置线条标记

除了线型样式外,还可以通过 marker 参数来设置线条标记。可以指定不同的标记类型,使得数据点更加突出。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dashed', marker='o', markersize=5)
plt.show()

Output:

Matplotlib 线型样式

添加注释

在图表中添加注释可以更好地说明数据的含义。可以通过 annotate 方法来添加注释,并指定位置和文本内容。示例代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.annotate('Point 1', (1, 1), textcoords='offset points', xytext=(0,5), ha='center')
plt.show()

Output:

Matplotlib 线型样式

总结

通过本文的介绍,我们了解了 Matplotlib 中常见的线型样式,并通过示例代码演示了如何使用不同的线型样式创建更加美观的图表。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程