Matplotlib 对称对数图

Beginner

This tutorial is from open-source community. Access the source code

简介

Matplotlib 是一个在 Python 中广泛使用的数据可视化库。它允许用户创建各种各样的可视化图表,包括折线图、散点图、柱状图等等。在本实验中,你将学习如何在 Matplotlib 中使用 symlog 轴缩放来创建对称对数图。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到 笔记本 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会及时为你解决问题。

导入库

在开始之前,我们需要导入必要的库。在本实验中,我们将使用 Matplotlib 和 NumPy。

import matplotlib.pyplot as plt
import numpy as np

生成数据

接下来,我们需要生成一些要绘制的数据。在这个例子中,我们将创建三个数组:一个用于 x 轴值,一个用于第一个图中的 y 轴值,另一个用于第三个图中的 y 轴值。

dt = 0.01
x = np.arange(-50.0, 50.0, dt)
y1 = np.arange(0, 100.0, dt)
y3 = np.sin(x / 3.0)

创建图表

既然我们已经有了数据,就可以创建图表了。我们将创建三个子图,每个子图都有不同的 symlog 轴缩放。

fig, (ax0, ax1, ax2) = plt.subplots(nrows=3)

在 x 轴上创建对称对数图

在第一个子图中,我们将在 x 轴上创建一个对称对数图。我们还将为 x 轴添加一个次要网格。

ax0.plot(x, y1)
ax0.set_xscale('symlog')
ax0.set_ylabel('symlogx')
ax0.grid()
ax0.xaxis.grid(which='minor')

在 y 轴上创建对称对数图

在第二个子图中,我们将在 y 轴上创建一个对称对数图。

ax1.plot(y1, x)
ax1.set_yscale('symlog')
ax1.set_ylabel('symlogy')

在 x 轴和 y 轴上都创建对称对数图

在第三个子图中,我们将在 x 轴和 y 轴上都创建一个对称对数图。我们还将把 linthresh 参数设置为 0.015。

ax2.plot(x, y3)
ax2.set_xscale('symlog')
ax2.set_yscale('symlog', linthresh=0.015)
ax2.grid()
ax2.set_ylabel('symlog both')

显示图表

最后,我们可以使用 show() 方法来显示我们的图表。

plt.show()

总结

在本实验中,你学习了如何在 Matplotlib 中使用对称对数(symlog)坐标轴缩放来创建对称对数图。具体来说,你学习了如何在 x 轴、y 轴以及 x 轴和 y 轴上都创建对称对数图。