简介
本逐步教程将指导你使用 Python Matplotlib 创建带有对数轴的图表。本教程将涵盖以下主题:
- 半对数 y 轴图(Semilogy Plot)
- 半对数 x 轴图(Semilogx Plot)
- 双对数轴图(Loglog Plot)
- 误差线图(Errorbars Plot)
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
半对数 y 轴图
半对数 y 轴图是一种 y 轴采用对数刻度的图表。它对于可视化具有大范围值的数据很有用。
import matplotlib.pyplot as plt
import numpy as np
## Data for plotting
t = np.arange(0.01, 20.0, 0.01)
## Create figure
fig, ax1 = plt.subplots()
## Plot data on semilogy plot
ax1.semilogy(t, np.exp(-t / 5.0))
## Add title and grid to plot
ax1.set(title='Semilogy Plot')
ax1.grid()
## Display plot
plt.show()
半对数 x 轴图
半对数 x 轴图是一种 x 轴采用对数刻度的图表。它对于可视化在 x 轴上具有大范围值的数据很有用。
import matplotlib.pyplot as plt
import numpy as np
## Data for plotting
t = np.arange(0.01, 20.0, 0.01)
## Create figure
fig, ax2 = plt.subplots()
## Plot data on semilogx plot
ax2.semilogx(t, np.sin(2 * np.pi * t))
## Add title and grid to plot
ax2.set(title='Semilogx Plot')
ax2.grid()
## Display plot
plt.show()
双对数轴图
双对数轴图是一种在 x 轴和 y 轴上均采用对数刻度的图表。它对于可视化在两个轴上都具有大范围值的数据很有用。
import matplotlib.pyplot as plt
import numpy as np
## Data for plotting
t = np.arange(0.01, 20.0, 0.01)
## Create figure
fig, ax3 = plt.subplots()
## Plot data on loglog plot
ax3.loglog(t, 20 * np.exp(-t / 10.0))
## Set x-axis scale to base 2
ax3.set_xscale('log', base=2)
## Add title and grid to plot
ax3.set(title='Loglog Plot')
ax3.grid()
## Display plot
plt.show()
误差线图
误差线图是一种为每个数据点显示误差线的图表。如果某个数据点的值为负,它将被截断为 0.1。
import matplotlib.pyplot as plt
import numpy as np
## Data for plotting
x = 10.0**np.linspace(0.0, 2.0, 20)
y = x**2.0
## Create figure
fig, ax4 = plt.subplots()
## Set x-axis and y-axis to logarithmic scale
ax4.set_xscale("log", nonpositive='clip')
ax4.set_yscale("log", nonpositive='clip')
## Plot data with error bars
ax4.errorbar(x, y, xerr=0.1 * x, yerr=5.0 + 0.75 * y)
## Set title and y-axis limit
ax4.set(title='Errorbars Plot')
ax4.set_ylim(bottom=0.1)
## Display plot
plt.show()
总结
Python 的 Matplotlib 是创建数据可视化的强大工具。本教程介绍了如何使用半对数 y 轴图(semilogy)、半对数 x 轴图(semilogx)、双对数轴图(loglog)和误差线图(errorbars)来创建带有对数坐标轴的图表。通过使用这些类型的图表,你可以有效地可视化具有大范围值的数据。