📜  轴转轴 matplotlb - Python (1)

📅  最后修改于: 2023-12-03 14:57:52.798000             🧑  作者: Mango

轴转轴 matplotlib - Python

简介

Matplotlib是一个用于绘制2D图形的Python库。它广泛用于科学计算、数据可视化和机器学习等领域。Matplotlib的pyplot模块提供了与MATLAB类似的函数接口,可以快速绘制各种类型的图表。

轴转轴(Twinx和Twiny)是Matplotlib中非常有用的功能,可以在同一图表中显示两个不同范围的y轴或x轴。例如,在同一图表中,显示两个y轴可以将两组数据进行比较,并帮助我们找到它们之间的关联性。

Twinx和Twiny

Twinx和Twiny在Matplotlib中是轴对象的方法,可以在单个画布上添加多重图形。这两种方法分别是将第二个y轴或第二个x轴与原始的y轴或x轴对齐。以下是此功能的代码示例。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 1000)
y1 = np.sin(x)
y2 = np.sin(2*x)

fig, ax1 = plt.subplots()

ax1.plot(x, y1, 'b-')
ax1.set_xlabel('X data')
ax1.set_ylabel('Y1 data', color='b')

ax2 = ax1.twinx()
ax2.plot(x, y2, 'r-')
ax2.set_ylabel('Y2 data', color='r')

plt.show()

此代码显示两个y轴,其中左侧坐标轴代表y1数据,右侧坐标轴代表y2数据。

twinx

类似地,Twiny方法可以用于显示不同范围的x轴数据。

import matplotlib.pyplot as plt
import numpy as np

x1 = np.linspace(0, 2*np.pi, 400)
y1 = np.sin(x1**2)

x2 = np.linspace(0.01, 10, 100)
y2 = np.sin(x2)

fig, ax1 = plt.subplots()

ax1.plot(x1, y1, 'b-')
ax1.set_xlabel('X1 data')
ax1.set_ylabel('Y1 data', color='b')

ax2 = ax1.twiny()
ax2.plot(x2, y2, 'r-')
ax2.set_xlabel('X2 data', color='r')

plt.show()

此代码显示两个x轴,其中底部坐标轴代表x1数据,顶部坐标轴代表x2数据。

Twiny

总结

Twinx和Twiny是Matplotlib中非常有用的功能,可以在同一图标中同时显示多个不同范围的数据。我们可以使用以下方式来实现轴转轴。

ax1.twinx()
ax1.twiny()

可能还有更多的用法要探索和发掘,希望这篇文章对你有所帮助!