Matplotlib 技巧速查

Matplotlib 技巧速查

参考:Matplotlib Cheat Sheet

Matplotlib 是一个用于创建二维图表的 Python 库,它可以轻松地生成各种图表,包括线图、柱状图、散点图等。在数据可视化和科学计算中,Matplotlib 是一个非常强大和常用的工具。本文将详细介绍 Matplotlib 的常用功能,提供一份 Matplotlib Cheat Sheet,帮助你快速上手使用 Matplotlib。

安装 Matplotlib

在开始之前,首先需要安装 Matplotlib。你可以使用 pip 在命令行中安装 Matplotlib:

pip install matplotlib

安装完成后,就可以开始使用 Matplotlib 来绘制各种图表了。

绘制简单的线图

首先,让我们从绘制一个简单的线图开始。下面是一个简单的示例代码,它绘制了一条平滑的正弦曲线:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

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

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个正弦曲线的图表。

绘制多个子图

Matplotlib 允许在同一个图表中绘制多个子图。下面这个示例代码展示了如何绘制两个子图:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

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

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

plt.show()

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个包含两个子图的图表。

添加标签和标题

在绘制图表时,添加标签和标题是很有用的。下面这个示例代码展示了如何添加标签和标题:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Sin Curve')

plt.show()

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个带有标签和标题的正弦曲线图表。

设置坐标轴范围

有时候,我们需要手动设置坐标轴的范围,以便更好地展示数据。下面这个示例代码展示了如何设置坐标轴的范围:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

plt.plot(x, y)
plt.xlim(0, 2*np.pi)
plt.ylim(-1, 1)

plt.show()

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个设置了坐标轴范围的正弦曲线图表。

绘制柱状图

除了线图,Matplotlib 还可以绘制柱状图。下面这个示例代码展示了如何绘制一个简单的柱状图:

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D']
y = [10, 20, 15, 25]

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

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个简单的柱状图。

添加图例

当在同一个图表中绘制多个数据集时,添加图例是很有用的。下面这个示例代码展示了如何添加图例:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='Sin Curve')
plt.plot(x, y2, label='Cos Curve')
plt.legend()

plt.show()

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个带有图例的正弦曲线和余弦曲线图表。

绘制散点图

散点图可以用来展示两个变量之间的关系。下面这个示例代码展示了如何绘制一个简单的散点图:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(100)
y = np.random.rand(100)

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

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个简单的散点图。

绘制直方图

直方图可以用来展示数据的分布情况。下面这个示例代码展示了如何绘制一个简单的直方图:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(1000)

plt.hist(data, bins=30)
plt.show()

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个简单的直方图。

设置线条样式和颜色

在绘制线图时,可以设置线条的样式和颜色。下面这个示例代码展示了如何设置线条的样式和颜色:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

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

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个红色虚线的正弦曲线图表。

添加网格线

在图表中添加网格线可以更好地帮助读者理解数据。下面这个示例代码展示了如何添加网格线:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

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

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个带有网格线的正弦曲线图表。

保存图表

Matplotlib 允许将图表保存为图片或 PDF 文件。下面这个示例代码展示了如何保存图表为 PNG 文件:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

plt.plot(x, y)
plt.savefig('sin_curve.png')

运行上面的代码后,你将在当前目录下看到一个名为 sin_curve.png 的文件,它是保存的正弦曲线图表。

使用子图表格

Matplotlib 提供了更灵活的子图绘制方式,可以使用 subplot2grid 来自定义子图的位置和大小。下面这个示例代码展示了如何使用子图表格:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.subplot2grid((2, 2), (0, 0))
plt.plot(x, y1)

plt.subplot2grid((2, 2), (0, 1))
plt.plot(x, y2)

plt.subplot2grid((2, 2), (1, 0), colspan=2)
plt.plot(x, y1 + y2)

plt.show()

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个使用子图表格的图表,其中包含了三个子图。

自定义图表风格

Matplotlib 支持自定义图表风格,你可以通过设置不同的风格来美化图表。下面这个示例代码展示了如何设置图表风格为 ggplot

import matplotlib.pyplot as plt
import numpy as np

plt.style.use('ggplot')

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

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

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个在 ggplot 风格下的正弦曲线图表。

使用标记点

在绘制线图时,可以使用标记点来突出数据的关键点。下面这个示例代码展示了如何在正弦曲线图表中添加标记点:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

plt.plot(x, y, marker='o', markersize=5)
plt.show()

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个带有标记点的正弦曲线图表。

使用不同的图表类型

除了线图、柱状图、散点图和直方图之外,Matplotlib 还支持绘制其他类型的图表,如饼图、箱线图、热力图等。下面这个示例代码展示了如何绘制一个简单的饼图:

import matplotlib.pyplot as plt

sizes = [30, 20, 15, 35]
labels = ['A', 'B', 'C', 'D']

plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.show()

Output:

Matplotlib 技巧速查

运行上面的代码,你将看到一个简单的饼图。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程